3

In my java application I am using NimBusLookAndFeel. I was trying to show grid lines in table.

Following code works perfectly fine on windows but not on Linux (table grid lines do not appear in linux)

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

Following are java version details on linux

java version "1.6.0_12" Java(TM) SE Runtime Environment (build 1.6.0_12-b04) Java HotSpot(TM) Server VM (build 11.2-b01, mixed mode)

mKorbel
  • 109,525
  • 20
  • 134
  • 319
Anuj Mehta
  • 1,072
  • 3
  • 13
  • 25
  • The Linux java may simply be too old. – Thorbjørn Ravn Andersen Dec 29 '11 at 06:20
  • @ThorbjørnRavnAndersen Its java version 1.6 update 12 and Nimbus was introduced in JDK 1.6 update 10 – Anuj Mehta Dec 29 '11 at 09:30
  • @ThorbjørnRavnAndersen I tried using a newer version of JDK but the problem still persists. root@OMC server]# java -version java version "1.6.0_30" Java(TM) SE Runtime Environment (build 1.6.0_30-b12) Java HotSpot(TM) Server VM (build 20.5-b03, mixed mode) [root@OMC server]# – Anuj Mehta Jan 02 '12 at 06:25

1 Answers1

6

you have to overrive following 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();
}
mKorbel
  • 109,525
  • 20
  • 134
  • 319