So far we have discussed different swing components. Now I am going to show you here how to change the Look and Feel of components using Swing setLookAndFeel.
Swing setLookAndFeel Example:
Java provides UIManager class to manage the look and feel of swing components. The method setLookAndFeel is used to change the default look and feel.
MyFrameLAF.java
import java.awt.Container;
import java.awt.FlowLayout;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.awt.event.WindowAdapter;
import java.awt.event.WindowEvent;
import javax.swing.ButtonGroup;
import javax.swing.JFrame;
import javax.swing.JRadioButton;
import javax.swing.SwingUtilities;
import javax.swing.UIManager;
class MyFrameLAF extends JFrame implements ActionListener {
JRadioButton windows, metal, motif;
ButtonGroup Group;
Container ContentPane;
MyFrameLAF() {
super("Look And Feel Demo");
addWindowListener(new WindowAdapter() {
public void windowClosing(WindowEvent we) {
System.exit(0);
}
});
windows = new JRadioButton("Windows");
windows.addActionListener(this);
metal = new JRadioButton("Metal");
metal.addActionListener(this);
motif = new JRadioButton("Motif");
motif.addActionListener(this);
Group = new ButtonGroup();
Group.add(windows);
Group.add(metal);
Group.add(motif);
ContentPane = getContentPane();
ContentPane.setLayout(new FlowLayout());
ContentPane.add(windows);
ContentPane.add(metal);
ContentPane.add(motif);
pack();
setVisible(true);
}
@Override
public void actionPerformed(ActionEvent ae) {
String LAF;
if (ae.getSource() == windows)
LAF = "com.sun.java.swing.plaf.windows.WindowsLookAndFeel";
else if (ae.getSource() == metal)
LAF = "javax.swing.plaf.metal.MetalLookAndFeel";
else
LAF = "com.sun.java.swing.plaf.motif.MotifLookAndFeel";
try {
UIManager.setLookAndFeel(LAF);
SwingUtilities.updateComponentTreeUI(this);
} catch (Exception e) {
System.out.println("Error setting the LAF..." + e);
}
}
}
class LookAndFeelDemo {
public static void main(String args[]) {
new MyFrameLAF();
}
}
Output :
Basic Look and Feel :
Windows Look and Feel :
Metal Look and Feel :
Motif Look and Feel :
Happy Learning 🙂