java swing jtable расположение экрана компонента рендеринга ячейки - PullRequest
0 голосов
/ 12 января 2012

Я новичок в свинге, и я столкнулся с первой серьезной проблемой, вот так:

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

Сразу же после запуска fireTableDataChanged () в JTable нет способа получить местоположение на экране его пользовательского компонента средства визуализации ячеек (что в моем случаеэто JCheckBox).Насколько я понимаю, это происходит потому, что JTable перерисовывается асинхронно.Всякий раз, когда я пытаюсь получить местоположение, создается исключение IllegalComponentStateException.

Любые идеи по этому поводу высоко ценятся.

Ответы [ 2 ]

2 голосов
/ 12 января 2012

Вы не должны делать это вручную. Вы должны использовать соответствующий layoutManager. Проверьте эту ссылку для различных макетов:

http://docs.oracle.com/javase/tutorial/uiswing/layout/visual.html

0 голосов
/ 03 октября 2013

Это может помочь вам получить расположение строки и столбца на экране.

Rectangle rect= cartTable.getCellRect(row,column,true); //cartTable-Jtable object name int x=Double.valueOf(rect.getX()).intValue(); int y=Double.valueOf(rect.getY()).intValue();

...