Java tutorial
import java.awt.BorderLayout; import java.awt.GridLayout; import java.awt.event.ItemEvent; import java.awt.event.ItemListener; import javax.swing.ButtonGroup; import javax.swing.JButton; import javax.swing.JComboBox; import javax.swing.JFrame; import javax.swing.JLabel; import javax.swing.JPanel; import javax.swing.JRadioButton; import javax.swing.SwingConstants; import javax.swing.SwingUtilities; import javax.swing.UIManager; public class Main extends JFrame { private String strings[] = { "Metal", "Motif", "Windows" }; private UIManager.LookAndFeelInfo looks[] = UIManager.getInstalledLookAndFeels(); private JRadioButton radio[] = new JRadioButton[strings.length]; private JButton button = new JButton("JButton"); private JLabel label = new JLabel("This is a Metal look-and-feel", SwingConstants.CENTER); private JComboBox comboBox = new JComboBox(strings); public Main() { JPanel northPanel = new JPanel(); northPanel.setLayout(new GridLayout(3, 1, 0, 5)); northPanel.add(label); northPanel.add(button); northPanel.add(comboBox); add(northPanel, BorderLayout.NORTH); JPanel southPanel = new JPanel(); ItemHandler handler = new ItemHandler(); southPanel.setLayout(new GridLayout(1, radio.length)); ButtonGroup group = new ButtonGroup(); for (int i = 0; i < radio.length; i++) { radio[i] = new JRadioButton(strings[i]); radio[i].addItemListener(handler); group.add(radio[i]); southPanel.add(radio[i]); } add(southPanel, BorderLayout.SOUTH); setSize(300, 200); setVisible(true); radio[0].setSelected(true); setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); } private void changeTheLookAndFeel(int value) { try { UIManager.setLookAndFeel(looks[value].getClassName()); SwingUtilities.updateComponentTreeUI(this); } catch (Exception e) { e.printStackTrace(); } } public static void main(String args[]) { Main dx = new Main(); } private class ItemHandler implements ItemListener { public void itemStateChanged(ItemEvent e) { for (int i = 0; i < radio.length; i++) if (radio[i].isSelected()) { label.setText("This is a " + strings[i] + " look-and-feel"); comboBox.setSelectedIndex(i); changeTheLookAndFeel(i); } } } }