簡體   English   中英

將JTextComponent和JComboBox放在JTable中

[英]Put JTextComponent and JComboBox in JTable

我有List和List,我需要用the​​ese兩列創建JTable。 我對模型很困惑,可以任意告訴我該怎么做,我是搖擺和Java的新手嗎?

查看我對其他問題的回答 我在那里提出了一個經常使用的簡單表模型。

在您的情況下,您將以下列方式創建數據:

//I assumed here list 1 and 2 have the same sizes
List<Object> list1 = getList1();
List<Object> list2 = getList2();
int rNo = list1.size();
List<List<Object>> data = new ArrayList<List<Object>>(rNo);
int cNo = 2;
for(int i = 0; i < rNo; i++)
{
     List<Object> r = new ArrayList<Object>(cNo);
     r.add(list1.get(i));
     r.add(list2.get(i));
     data.add(r);
}
tm.setData(data);

不用擔心,只需將您想要的組件設置為該列的單元格編輯器即可。 簡單不是這樣。

示例代碼段

public class JTextFieldCellEditor extends DefaultCellEditor {    
    JTextField textField;    
    public JTextFieldCellEditor() {
        super(new JTextField());
        textField = (JTextField) getComponent();   
    }
}

然后包括它,如下所示,

TableColumn column = myTable.getColumnModel().getColumn(0);
column.setCellEditor(new JTextFieldCellEditor());

進一步閱讀:

這是你最好的選擇, JTable的Swing教程

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM