Linux - Nimbus LookAndFeel: линии таблицы не появятся - PullRequest
3 голосов
/ 29 декабря 2011

В моем Java-приложении я использую NimBusLookAndFeel. Я пытался показать линии сетки в таблице.

Следующий код прекрасно работает на Windows, но не на Linux (линии сетки таблицы не отображаются в Linux)

UIManager.setLookAndFeel("com.sun.java.swing.plaf.nimbus.NimbusLookAndFeel");
UIManager.put("Table.showGrid", true);
UIManager.put("Table.intercellSpacing", new Dimension (1,1)); 

Ниже приведены подробные сведения о версии Java для Linux

.

Java-версия "1.6.0_12" Java (TM) SE Runtime Environment (сборка 1.6.0_12-b04) Серверная виртуальная машина Java HotSpot (TM) (сборка 11.2-b01, смешанный режим)

1 Ответ

6 голосов
/ 02 января 2012

Вы должны преодолеть следующие значения Nimbus UIDefaults

try {// UIManager.setLookAndFeel(UIManager.getSystemLookAndFeelClassName());
    for (LookAndFeelInfo info : UIManager.getInstalledLookAndFeels()) {
        if (info.getName().equals("Nimbus")) {
            UIManager.setLookAndFeel(info.getClassName());
            UIDefaults defaults = UIManager.getLookAndFeelDefaults();
            defaults.put("Table.gridColor", new Color (214,217,223));
            defaults.put("Table.disabled", false);
            defaults.put("Table.showGrid", true);
            defaults.put("Table.intercellSpacing", new Dimension(1, 1));
            break;
        }
    }
} catch (Exception e) {
    //e.printStackTrace();
}
...