Как добавить значения модели таблицы, отредактировав строки JTable? - PullRequest
0 голосов
/ 25 октября 2011

У меня пустая TableModel.Когда я устанавливаю эту модель в JTable, в ней нет строк.Я хочу создать одну пустую строку, где пользователь может выбрать значение в редакторе поля со списком.Если пользователь выбирает ненулевое значение, то добавляется вторая строка, и у меня есть один объект в модели.Как добавить пустую строку, если в модели нет объекта для этой строки?

Ответы [ 2 ]

4 голосов
/ 25 октября 2011

TableModel - ваш друг: реализуйте метод 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;
        }


    };
2 голосов
/ 25 октября 2011
I want to create one empty row, where user can select value in combo box editor.

, который не является пустой строкой,

вы можете добавить нулевое значение в ячейку JTable, подробнее в учебнике о JTable и JComboBox в качестве редактора и примеры здесь

...