java - 如何通过编辑 JTable 行来添加表模型值?

标签 java swing jtable tablemodel

我有空的 TableModel。当我将此模型设置为 JTable 时,它​​没有行。我想创建一个空行,用户可以在组合框编辑器中选择值。如果用户选择非空值,则添加第二行,并且我在模型中有一个对象。当模型中没有该行的对象时,如何添加空行?

最佳答案

TableModel 是你的 friend :实现它的 setValueAt 方法以在设置值后添加一行。下面是通过子类化 DefaultTableModel 来实现此目的的示例:

    DefaultTableModel model = new DefaultTableModel(1, 3) {

        /** 
         * @inherited <p>
         */
        @Override
        public void setValueAt(Object aValue, int row, int column) {
            super.setValueAt(aValue, row, column);
            if (shouldAddRow(row, column)) {
                addRow(new Object[] {});
            }
        }

        private boolean shouldAddRow(int lastEditedRow, int lastEditedColumn) {
            // implement your logic here
            return lastEditedRow == getRowCount() -1;
        }


    };

关于java - 如何通过编辑 JTable 行来添加表模型值?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7885323/

相关文章:

java - String[][] 名称与 String name[][] 之间的区别

java - 创建动态 GridPane(添加和删除行)

java - 防止覆盖 application.properties 中的某些属性 - Spring Boot

java - 可以保存到文件的JTable

java - 将对象转换为 JTable?

java - 使用Java的swing向容器添加面板

java - 使用日期类型更新 JTable 单元格

java - apache.commons.math3 - 如何使用线性规划?

java - f9 键的 KeyEvent getActionCommand?

java - 从 JButton actionListener 更新 JLabel