Как установить фиксированную высоту строки UIManager для JTable?

У меня есть приложение Java Swing, я хочу установить для всех JTable моего приложения фиксированную высоту строки. Итак, я вставил эту строку кода:

UIManager.put("JTable.rowHeight", 25); 

Но этот код не работает.


person bircastri    schedule 25.03.2016    source источник


Ответы (2)


Попробуйте эти коды

UIDefaults jDefaults = UIManager.getLookAndFeelDefaults();

//change nimbusL&F Selection Background color
jDefaults.put("Table.rowHeight", new Integer(25)); 

//update ui trees
for(Window window : Window.getWindows()){
    SwingUtilities.updateComponentTreeUI(window);
}

or

UIManager.put("Table.rowHeight", 25);
person ziLk    schedule 25.03.2016
comment
Извините, но я пытался использовать ваш код, но не работает. - person bircastri; 25.03.2016
comment
Это работает для Nimbus L&F, а не для всех видов и ощущений. - person rdonuk; 25.03.2016

Я хочу установить для всех JTable моего приложения фиксированную высоту строки.

Нет свойства UIManager. Вы не можете просто создавать свойства и ожидать, что это сработает.

Ознакомьтесь с значениями UIManager по умолчанию для приложения, в котором перечислены фактические свойства, которые вы можете изменить для данного LAF.

Если вы хотите установить высоту строки, вам нужно сделать это для каждой таблицы:

JTable table = new JTable(...);
table.setRowHeight( 25 );
person camickr    schedule 25.03.2016