1
我有一個JButton
,一旦它被按下,就會將行添加到JTable
中。我試圖通過實現下面的代碼來做到這一點。將行添加到JTable中時出錯
columNames = new Vector<>();
columNames.addElement("Name");
columNames.addElement("CC");
columNames.addElement("Age");
columNames.addElement("PhoneNumber");
columNames.addElement("Date");
columNames.addElement("Amount$");
Object[] dataList = {"name", "cc", "age", "phone", "date", "amount"};
data = new DefaultTableModel(columNames, 0);
data.addRow(dataList);
table = new JTable(data);
JScrollPane scrollTable = new JScrollPane(table);
scrollTable.setBounds(22, 78, 764, 177);
scrollTable.setViewportView(table);
//ActionListener method!.
if(e.getActionCommand().equals("Add client"))
{
Object[] dataList = {"name", "cc", "age", "phone", "date", "amount"};
data.addRow(dataList);
DefaultTableModel defaut = (DefaultTableModel) table.getModel();
defaut.addRow(dataList);
}
它拋出Exception in thread "AWT-EventQueue-0" java.lang.ArrayIndexOutOfBoundsException
:-1
我該如何解決呢?
你的ActionListener似乎試圖添加DataList控件數組表模型** **兩次,通過數據對象一次,通過提取臺式一次 - 爲什麼?爲什麼不嘗試簡單地添加一次? –
如果TrashGod的回答不能幫助你解決問題,那麼請考慮創建併發佈一個有效的[mcve],一個小型自包含程序來演示你的問題,類似於下面已經發布的垃圾內容。 –
@HovercraftFullOfEels我試圖添加兩次cuz第二個是一個Action監聽器,將添加一個新的行。 – Cohen