Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Java: GUI и Java FX приложения > Добавление JButton в определенную ячейку?


Автор: Goliath 11.4.2006, 23:29
Мне нужно добавить в определенные ячейки таблицы кнопку. Для колонки я делаю через setCellRenderer(), а как добавить кнопку только в одну ячейку(или в определенные)?

Автор: igon 12.4.2006, 04:07
Столбцы JTable могут содержать данные только одного типа.
Поэтому, если какой-то столбец должен содержать и ячейки типа, скажем, JLabel, и JButton, тебе нужно создать свой класс типа Component (например, JPanel) MyCell.
В экземпляры MyCell будешь добавлять либо JLabel, либо JButton.
Если все ячейки таблицы можно сделать типа MyCell, то Renderer вроде как и не нужен. В противном случае, свой Renderer наследуй от DefaultTableCellRenderer и используй метод

Код

Component getTableCellRendererComponent(JTable  table, 
                                                   Object  value,
                                                   boolean isSelected, 
                                                   boolean hasFocus, 
                                                   int     row, 
                                                   int column) 


Object value - это фактически экземпляр MyCell для конкретной ячейки (или экземпляр соответствующего типа для другой ячейки)
Код

MyCell myCell = (MyCell)value;
Его можно изменить как угодно, а потом вернуть
Код

return myCell


Автор: Goliath 14.4.2006, 06:21
Да я как раз тоже самое понял, просматривая исходники JDK! Сенкс

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