【发布时间】:2017-03-21 16:54:35
【问题描述】:
我试图一次选择多个项目并将它们添加到我的表中,但是当我尝试这样做时,我得到了一个数组越界异常。我认为这是由于我的 listToArr 方法,因为它允许我一次选择一个项目,没有任何错误。我创建了 listToArr 方法,因为表模型中的 insertRow() 需要一个 int 作为第一个参数,一个 Object[] 或 Vector 作为第二个参数。
我也很想知道在按下选择按钮后如何使突出显示的选定项目不突出显示。
private void populateTable(JList<String> items){
DefaultTableModel t = (DefaultTableModel) selectedItemsTable.getModel();
t.insertRow(t.getRowCount()-1, listToArr(items));
selectedItemsTable.setModel(t);
}
private Object[] listToArr(JList<String> l){
Object[] o = new Object[l.getComponentCount()];
int i=0;
for(Object value : l.getSelectedValuesList()){
o[i] = (Object) value;
i++;
}
return o;
}
private void SelectNeedActionPerformed(java.awt.event.ActionEvent evt) {
populateTable(needsList);
}
【问题讨论】: