Java程式:在JTable中新增組合框


在這篇文章中,我們將學習如何在Java Swing中向JTable新增JComboBox。JComboBox允許您在表格單元格內建立一個下拉列表,使使用者能夠從預定義的選項中進行選擇。

在JTable中新增組合框的步驟

以下是向JTable新增組合框的步驟:

  • 首先匯入必要的包。
  • 用5行5列初始化一個JTable
  • 建立一個JComboBox並向其中新增專案。
  • 獲取表格的第一列,並將其單元格編輯器設定為JComboBox。
  • 將表格新增到JFrame
  • 打印表格

Java程式:在JTable中新增組合框

以下是向JTable新增組合框的示例:

package my;
import java.awt.Color;
import java.awt.Font;
import javax.swing.DefaultCellEditor;
import javax.swing.JComboBox;
import javax.swing.JFrame;
import javax.swing.JScrollPane;
import javax.swing.JTable;
import javax.swing.table.JTableHeader;
import javax.swing.table.TableColumn;
public class SwingDemo {
   public static void main(String[] argv) throws Exception {
      JTable table = new JTable(5, 5);
      Font font = new Font("Verdana", Font.PLAIN, 12);
      table.setFont(font);
      table.setRowHeight(30);
      table.setBackground(Color.orange);
      table.setForeground(Color.white);
      TableColumn testColumn = table.getColumnModel().getColumn(0);
      JComboBox<String> comboBox = new JComboBox<>();
      comboBox.addItem("Asia");
      comboBox.addItem("Europe");
      comboBox.addItem("North America");
      comboBox.addItem("South America");
      comboBox.addItem("Africa");
      comboBox.addItem("Antartica");
      comboBox.addItem("Australia");
      testColumn.setCellEditor(new DefaultCellEditor(comboBox));
      JFrame frame = new JFrame();
      frame.setSize(600, 400);
      frame.add(new JScrollPane(table));
      frame.setVisible(true);
   }
}

輸出

輸出如下所示,在JTable中顯示JComboBox:

程式碼解釋

在給定的程式碼中,我們將從匯入類開始,這裡javax.swing包提供了必要的類。首先,建立一個具有5行5列的JTable。然後例項化一個JComboBox,並使用addItem()方法填充大洲名稱。來自javax.swing.tableTableColumn類用於透過table.getColumnModel().getColumn(0)獲取表格的第一列。

然後,我們將使用用JComboBox初始化的DefaultCellEditor呼叫TableColumnsetCellEditor()方法。此設定使第一列單元格顯示下拉列表。最後,將表格新增到JFrame中,然後顯示。

更新於:2024年8月19日

2K+ 次瀏覽

開啟你的職業生涯

完成課程獲得認證

開始學習
廣告