我有一个带有 JList、一个 JTable 和两个 JButton 的简单 JFrame,如下所示
我想使用“添加”按钮将列表中的选定项目复制到表中,并通过“删除”按钮删除表中的项目(添加时)。
谢谢你的帮助
您需要将侦听器添加到从列表中获取所选项目并相应地修改表的按钮。以下是一些帮助您入门的代码:
final JButton add = new JButton();
final JButton remove = new JButton();
final DefaultTableModel tableModel = new DefaultTableModel();
final JTable table = new JTable(tableModel);
final JList list = new JList();
add.addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent e) {
Object selectedPlanet = list.getSelectedValue();
tableModel.addRow(new Object[] { selectedPlanet });
}
});
remove.addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent e) {
Object selectedPlanet = list.getSelectedValue();
int columnContainingPlanets = 0;
for (int index = columnContainingPlanets; index < tableModel.getRowCount(); index ++)
if (tableModel.getValueAt(index, columnContainingPlanets).equals(selectedPlanet)) {
tableModel.removeRow(index);
break;
}
}
});