, .
Painter s. , , , , , . Painter. , , . Nimbus Painters . . !
Nimbus . XML skin.laf ( JDK), XML . Painter s. , TableHeaderRendererPainter (, ) . , .
, NimbusLookAndFeel. .
skin.laf , . nimbusBlueGrey, . nimbusBlueGrey, Nimbus, . - . - , .
, (.. , , ..). . , - .
, NimbusLookAndFeel. , "" . , , Painter, NimbusLookAndFeel . Painter , , .
public class MyTest {
public static void main(String[] args) throws UnsupportedLookAndFeelException {
new MyTest();
}
public MyTest() throws UnsupportedLookAndFeelException {
NimbusLookAndFeel nimbusTmp = new NimbusLookAndFeel();
Object nimbusBlueGreyOrg = UIManager.get("nimbusBlueGrey");
UIManager.put("nimbusBlueGrey", Color.RED);
try {
UIManager.setLookAndFeel(nimbusTmp);
} catch (UnsupportedLookAndFeelException ex) {
Logger.getLogger(MyTest.class.getName()).log(Level.SEVERE, null, ex);
}
Object painter = UIManager.get("TableHeader:\"TableHeader.renderer\"[Enabled].backgroundPainter");
UIManager.getLookAndFeel().uninitialize();
UIManager.put("nimbusBlueGrey", nimbusBlueGreyOrg);
UIManager.setLookAndFeel(new NimbusLookAndFeel());
UIManager.put("TableHeader:\"TableHeader.renderer\"[Enabled].backgroundPainter", painter);
SwingUtilities.invokeLater(new Runnable() {
@Override
public void run() {
JFrame frame = new JFrame("Test");
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.setLayout(new BorderLayout());
frame.add(new TestPane());
frame.pack();
frame.setLocationRelativeTo(null);
frame.setVisible(true);
}
});
}
public class TestPane extends JPanel {
public TestPane() {
DefaultTableModel model = new DefaultTableModel(
new Object[][]{
{"hhvt ", "er sdf", "sfdg"},
{"hyshg ", "dh sdf", "jer"}},
new Object[]{"Col A", "Col B", "Col C"}
);
JTable table = new JTable(model);
setLayout(new BorderLayout());
add(new JScrollPane(table));
}
}
}
, . - ?