java - 将选定的 Jtable 行添加到列表模型

标签 java swing jtable listselectionlistener

当我选择一行时,我希望此代码将一个事务添加到我的列表模型中,但它却添加了两个事务。这是代码:

table.getSelectionModel().addListSelectionListener(new ListSelectionListener(){
        @Override
        public void valueChanged(ListSelectionEvent event) {
            String name = (String) table.getValueAt(table.getSelectedRow(), 0);
            Double price = Double.valueOf((String) table.getValueAt(table.getSelectedRow(), 1));
            String transaction = name + "         " + price;
            myModel.addElement(transaction);
            list.setModel(myModel);

        }
    });

最佳答案

ListSelectionListener 有一个“正在调整”属性,您需要检查该属性以确保选择已完成。

阅读 Swing 教程中关于 How to Write a ListSelectionListener 的部分有关如何对此进行测试的更多信息和工作示例。

或者您可以使用 ListSelectionListener 在论坛中搜索其他示例。

关于java - 将选定的 Jtable 行添加到列表模型,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33602429/

相关文章:

java - 如何使用键盘编辑 JDateChooser 表格单元格

java - 在firebase中更新数据时如何更新 TextView

java - 如何用Gson反序列化这个json?

java - JScrollPane 内的 JPanel : Vertical bar is not appearing

java - 正确设计以防止 JFrame 中出现黑屏问题

Java-单元格更改时如何保存JTable?

java - 计算 JTable 中的运行总计

使用 OpenJDK 1.6 构建 war 时,Grails 1.3.9 和 grails-melody : javamelody. jar 未打包

java - 无法滚动视频进度条|超文本标记语言

Java - repaint(x, y, w, h) 不调用 paintComponent?