[英]Java: Adding a row of JCombobox in a AbstractTableModel
我試圖在一個擴展AbstractTableModel
的類中創建一個包含JCombobox
的行。
我有一個稱為數據的2D數組。 我還使用方法getColumnCount()
來實現兩個按鈕“Previous”和“Next”。 我已經標記了我認為JCombobox
應該在哪里,但我不知道我應該如何在整行中實現。
public class SwitchTableModel extends AbstractTableModel{
@Override
public int getRowCount() {
// Standard number of rows
return 3;
}
@Override
public int getColumnCount() {
// Number of columns change according to the data
return data [position].length + 1;
}
public Object getValueAt(int rowIndex, int columnIndex) {
switch (rowIndex)
{
case 0:
return columnIndex == 0 ? "ID" : idArray [data [position][columnIndex - 1]];
case 1:
return columnIndex == 0 ? "Company Name" : company_nameArray [data [position][columnIndex - 1]];
case 2:
return columnIndex == 0 ? "Double" : ...???
default:
throw new Error ();
}
}
public void previous ()
{
position -= 1;
if (position < 0) position = data.length - 1;
fireTableStructureChanged();
}
public void next ()
{
position += 1;
if (position >= data.length) position = 0;
fireTableStructureChanged();
}
}
任何幫助都是有價值的
在AbstractTableModel中添加一行JCombobox,
這是錯誤的想法, XxxTableModel
只保留最后一個選擇(或第一次使用時初始化)的String form
值(在XxxComboBoxModel
包含String形式的Item的情況下,如果有Number,那么model只包含一個munber)
必須將JComboBox as Editor
拆分JComboBox as Editor
和XxxTableModel
,然后這個想法才有效
不要將JComboBox
放到XxxTableModel
,請遵循Oracle教程中的代碼示例
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.