A simple Java program to set different installed look and feel in Java Swing
Output of the program :
package com.hubberspot.swing;
import java.awt.Color;
import java.awt.EventQueue;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JPanel;
import javax.swing.JTextField;
import javax.swing.SwingUtilities;
import javax.swing.UIManager;
import javax.swing.UIManager.LookAndFeelInfo;
class LookAndFeel extends JFrame {
private JPanel panel;
private JTextField textField;
public LookAndFeel() {
setTitle("Look And Feel Demo");
setSize(300, 200);
panel = new JPanel();
textField = new JTextField("Metal look and feel");
textField.setBackground(Color.cyan);
LookAndFeelInfo[] installedLookAndFeels = UIManager.getInstalledLookAndFeels();
for(LookAndFeelInfo lookAndFeel : installedLookAndFeels) {
final String name = lookAndFeel.getName();
final String className = lookAndFeel.getClassName();
JButton button = new JButton(name);
panel.add(button);
button.addActionListener(new ActionListener()
{
public void actionPerformed(ActionEvent event)
{
try
{
UIManager.setLookAndFeel(className);
SwingUtilities.updateComponentTreeUI(LookAndFeel.this);
textField.setText(name + " look and feel");
}
catch (Exception e)
{
e.printStackTrace();
}
}
});
}
panel.add(textField);
add(panel);
}
}
public class LookAndFeelTest {
public static void main(String[] args) {
EventQueue.invokeLater(new Runnable()
{
public void run()
{
LookAndFeel frame = new LookAndFeel();
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.setVisible(true);
}
});
}
}
Output of the program :




