Изменение высоты JTable

Я пытаюсь получить квадрат (ячейки с одинаковой шириной и высотой). Однако я могу изменить размер ширины только с помощью метода setPreferredWidth следующим образом:

TableColumnModel tcm = table1.getColumnModel();
tcm.getColumn(0).setPreferredWidth(100);

Я пытался использовать метод setPreferredSize(100,100);, но он не работает, и я пробовал метод setRowHeight(100);, но он все еще не работает... Я использую внутреннюю рамку, я не знаю, является ли это причиной того, что setRowHeight не работает. работай. Как я могу сделать?


person luz    schedule 05.05.2015    source источник
comment
setRowHeight должен помочь... вы пытались вызвать его после загрузки модели таблицы?   -  person Erich Kitzmueller    schedule 05.05.2015
comment
Я не использовал табличную модель, я сделал следующее: я создал класс, который наследует JInternalFrame. Затем я создал такую ​​таблицу String[] data = {{1,2,3,4}...... } String[] cols = {Col 1, Col 2,Col 3, Col 4}; общедоступная таблица JTable1 = новая JTable (данные, столбцы); и в конструкторе я устанавливаю SetRowHeight(100); но это не сработало   -  person luz    schedule 05.05.2015
comment
Чтобы быстрее получить помощь, опубликуйте MCVE (минимальный полный проверяемый пример) или SSCCE (краткий, автономный, правильный пример).   -  person Andrew Thompson    schedule 05.05.2015
comment
вот мой код: class ShowEmployee extends JInternalFrame {String[][] data = {{1, 2, 3,4}, {5, 6, 7,8}, {9,10,11,12}, {13 ,14,15,16} }; String[] cols = {столбец 1, столбец 2, столбец 3, столбец 4}; общедоступная таблица JTable = новая JTable (данные, столбцы); public ShowEmployee () { прокрутка JScrollPane = новая JScrollPane (таблица); getContentPane (). Добавить (прокрутить); пакет(); установитьвидимый (истина); setRowHeight(100);}}   -  person luz    schedule 05.05.2015
comment
1) Совет: добавьте @ammoQ (или кого угодно, @ важно), чтобы уведомить человека о новом комментарии. 2) Не размещайте код в комментариях, вместо этого отредактируйте вопрос. 3) Некомпилируемый фрагмент кода не является MCVE. Опубликовать MCVE как правку.   -  person Andrew Thompson    schedule 06.05.2015


Ответы (2)



Не расширяйте JInternalFrame. Вы НЕ добавили никаких новых функций в этот класс. Вместо этого вы создаете JInternalFrame и добавляете панель прокрутки во внутренний фрейм.

setRowHeight(100);

setRowHeight(...) — это метод JTable, поэтому вам нужно использовать table.setRowHeight(100). Кроме того, этот метод следует вызывать при создании таблицы, а не после того, как внутренний фрейм станет видимым.

person camickr    schedule 05.05.2015
comment
Спасибо за ваш ответ, но я должен использовать iJIternalFrame, чтобы создать 2 JTables в одном JFrame. - person luz; 05.05.2015
comment
Я не говорил, что вы не можете использовать JInternalFrame. Я сказал, что вы НЕ должны extend JInternalFrame. - person camickr; 05.05.2015