I wanted to change the LookAndFeel by clicking on the button
public static void main(String[] args) {
FlatDarculaLaf.setup();
try {
UIManager.setLookAndFeel(new FlatDarculaLaf());
} catch (Exception e) {
e.printStackTrace();
}
JFrame frame = new JFrame("Test");
frame.setLayout(new FlowLayout());
JButton b = new JButton("Click");
b.setSize(10, 5);
b.addActionListener(e -> {
FlatLightLaf.setup();
try {
UIManager.setLookAndFeel(new FlatLightLaf());
} catch (Exception ex) {
ex.printStackTrace();
}
});
frame.getContentPane().add(b);
frame.setVisible(true);
frame.setBounds(0, 0, 1200, 600);
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
}
but it didn't work. Is there a way to do this, or is it not possible at all?
Use SwingUtilities.updateComponentTreeUI(frame)
after changing the UI to update the UI tree. This should update the frame and all its components