Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Java: GUI и Java FX приложения > JTable getRow or getCell


Автор: PashaOvechkin 30.11.2007, 18:02
Привет! 
Можно ли получить доступ к ROW или CELL JTable как к обьекту?

Автор: _Michael 30.11.2007, 18:12
Конечно можно. Наследуеш свою модель от javax.swing.table.AbstractTableModel и там реализуеш что тебе надо.

Автор: Platon 30.11.2007, 18:13
Код

JTable t = new JTable();
t.getModel().getValueAt(0, 0);

доступ к первой ячейке.

Автор: PashaOvechkin 30.11.2007, 18:19
Platon, спасибо!!! smile 
Супер, как смогу + поставлю 

А что может быть ячеикой? 
Или что угодно?

Или всё же подкласс Component? 

Автор: Platon 30.11.2007, 19:44
PashaOvechkin, 
Понимаешь, может быть в принципе любой объект. Видимо уместно назвать его bean бином, в котором сосредоточена какая-то информация.
Смотри, к примеру ты в эту ячейку присваиваешь экземпляр объекта Color
По умолчанию, у тебя будет отображаться как строка Color[r=124, g=34, b=12] или что-то в этом роде.
Чтобы данные твои отображались в виде цвета, необходимо присвоить таблице renderer, не знаю как по-русски, но что-то типа отобразитель данных, который будет обрабатывать ячейки с объектами типа Color.

Добавлено через 3 минуты и 18 секунд
Цитата(PashaOvechkin @  30.11.2007,  19:19 Найти цитируемый пост)
Или всё же подкласс Component?

ну тут история весьма хитрая, я лично ниразу не делал сложных таблиц.
но теоретически дело обстоит так.
Простой renderer в таблице возвращает компонент типа JLabel, но, надо полагать, доступны возвраты и всех остальных компонентов. типа JListBox или JCheckbox...

Автор: PashaOvechkin 1.12.2007, 10:52
Цитата(Platon @ 30.11.2007,  19:44)
Цитата(PashaOvechkin @  30.11.2007,  19:19 Найти цитируемый пост)
Или всё же подкласс Component?

ну тут история весьма хитрая, я лично ниразу не делал сложных таблиц.
но теоретически дело обстоит так.
Простой renderer в таблице возвращает компонент типа JLabel, но, надо полагать, доступны возвраты и всех остальных компонентов. типа JListBox или JCheckbox...

Тоесть таблицу при заполнении можно составить так как хочешь, заполнить её любыми Swing компонентами...
Так наверно и есть.

Но у меня ситуация несколько иначе... 
У меня есть готовая таблица, в которои в ячеиках лежат просто строки... 
А мне нужно получить ссылку на ячеику (или ROW) как на Swing обьект. 
Т.и типо  JCell или JRow...  Которые наследуются он Component.
Но в Swing ничего подобного нету, как я понимаю  smile 

Автор: Platon 1.12.2007, 11:05
А зачем тебе получать в виде компонента? что-то мысль не улавливаю...

Автор: Platon 1.12.2007, 11:27
Цитата(_Michael @  30.11.2007,  19:12 Найти цитируемый пост)
Конечно можно. Наследуеш свою модель от javax.swing.table.AbstractTableModel и там реализуеш что тебе надо.

Тогда тебе правильно подсказали это.

Автор: PashaOvechkin 1.12.2007, 13:36
хмм...
Надо подумать.
Зачем мне ето? Для юнит тестов гуи приложений... 
И к сожалению медель таблицы такова, какова она есть... 
Может придётся переделовать сам гуи

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)