Как скрыть столбцы в JTable, чтобы к ним можно было получить доступ с помощью tableModel.getValueAt (row, colHidden)? - PullRequest
1 голос
/ 06 февраля 2012

Как скрыть столбцы в JTable, чтобы к ним можно было обращаться с помощью tableModel.getValueAt(row,colHidden)?

Я так и сделал, но потом я не смог получить доступ к 6-му столбцу, используя tableModel.getValueAt(row,6):

tbl.getColumnModel().getColumn(6).setPreferredWidth(0);
tbl.getColumnModel().getColumn(6).setMinWidth(0);
tbl.getColumnModel().getColumn(6).setMaxWidth(0);

Сообщение об ошибке:

Exception in thread "AWT-EventQueue-0" java.lang.ArrayIndexOutOfBoundsException: 6

Ответы [ 2 ]

0 голосов
/ 06 февраля 2012

Вы можете позвонить JTable#removeColumn, чтобы удалить столбец из JTable, пока он все еще доступен через модель.Это лучше, чем установка предпочтительной ширины

Но даже при использовании вызовов методов вы сможете получить доступ к этим данным.Вы уверены, что в вашей таблице 7 столбцов (так как первый столбец находится в индексе 0, ...)

0 голосов
/ 06 февраля 2012
RecvCallsTable.getColumnModel().removeColumn(RecvCallsTable.getColumnModel().getColumn(5));

Это удалит столбец из модели, т. Е. Из поля зрения пользователя, но все равно будет доступен с использованием значения индекса. Я использую это все время, и он отлично работает

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