Выбор строки JTable без изменения данных - PullRequest
0 голосов
/ 01 марта 2011

Привет, я делаю проект для колледжа и имею JTable в моем GUI. Я хочу, чтобы пользователь мог выбирать строки без возможности изменения данных в таблице. Я использую два массива, чтобы создать таблицу, а не модель таблицы. Спасибо

Я не хочу использовать табличные модели !!!!

Ответы [ 3 ]

3 голосов
/ 01 марта 2011

Вы можете реализовать метод isEditable () в вашей табличной модели и вернуть false, и ваша таблица не будет редактируемой:

public class MyTableModel extends AbstractTableModel{
 public void isEditable(){
   return false;
 }
}

Затем у вас есть таблица, и вы устанавливаете ее модель для объекта MyTableModel, например.

JTable table = new JTable();
table.setModel(new MyTableModel());

Дополнительная информация:

AbstractTableModel.isCellEditable(int,int) возвращает false по умолчанию, поэтому вам не нужно переопределять его, чтобы получить такое поведение.

Реализация DefaultTableModel этого метода возвращает true по умолчанию, поэтому его необходимо переопределить, если вы хотите сделать ячейки недоступными для редактирования.

Ресурс этого ответа.

1 голос
/ 01 марта 2011

Вам потребуется переопределить метод isCellEditable () модели таблицы, чтобы всегда возвращать false.

1 голос
/ 01 марта 2011

Вы должны определить свою собственную модель таблицы, расширяя AbstractTableModel или DefaultTableModel.Просто переопределите isCellEditable(int row, int col) и верните его false.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...