swing - 将项目从 JList 复制到 JTable

标签 swing jtable jframe jbutton jlist

我有一个简单的 JFrame,其中包含一个 JList、一个 JTable 和两个 JButton,如下所示

enter image description here

我想使用“添加”按钮将所选项目从列表复制到表格,并通过“删除”按钮删除表格中的项目(添加后)。

感谢您的帮助

最佳答案

您需要向按钮添加一个监听器,以从列表中获取所选项目并相应地修改表格。以下是一些可以帮助您入门的代码:

        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;
                }
        }
    });

关于swing - 将项目从 JList 复制到 JTable,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11101284/

相关文章:

java - 计算器 - setText(String) 不适用于 double

java - 如何在java中将字符串值存储在Char数组中?

java - Swing - 没有调用 paintComponent 方法

Java动画方法

java - java中的行未添加到JTable中

java - 无法使用自定义渲染器

java - 带有垂直滚动条的 GridBagLayout

java - 为什么调整 JTable 列的大小会产生垃圾?

java - 按钮似乎被视频覆盖

java - 通过按键打开应用程序