我创建了一个可编辑的JComboBox(在JTable中,如果重要的话)。
JComboBox<String> eventBox=new JComboBox<String>(Configuration.getInstance().getEventList());
timeLineDialog.getColumnModel().getColumn(6).setCellEditor(new DefaultCellEditor(eventBox));
timeLineDialog.getColumnModel().getColumn(6).setCellRenderer(new ComboBoxCellRenderer(eventBox));
eventBox.setEditable(true);
eventBox.addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent e) {
System.out.println("Selected: " + eventBox.getSelectedItem());
System.out.println(", Position: " + eventBox.getSelectedIndex());
}
});
通过观察,我发现所选项目的索引在编辑后尚不存在时为-1。这是确定新项目的可靠方法,还是我必须对列表进行实际搜索以避免重复? TIA。