Mega Code Archive

 
Categories / Java / Swing JFC
 

Selecting different looks and feels

// : c14:LookAndFeel.java // Selecting different looks & feels. // From 'Thinking in Java, 3rd ed.' (c) Bruce Eckel 2002 // www.BruceEckel.com. See copyright notice in CopyRight.txt. import java.awt.Component; import java.awt.Container; import java.awt.FlowLayout; import javax.swing.JButton; import javax.swing.JCheckBox; import javax.swing.JComboBox; import javax.swing.JFrame; import javax.swing.JLabel; import javax.swing.JList; import javax.swing.JRadioButton; import javax.swing.JTextField; import javax.swing.UIManager; public class LookAndFeel extends JFrame {   private String[] choices = { "eeny", "meeny", "Minnie", "Mickey", "Moe",       "Larry", "Curly" };   private Component[] samples = { new JButton("JButton"),       new JTextField("JTextField"), new JLabel("JLabel"),       new JCheckBox("JCheckBox"), new JRadioButton("Radio"),       new JComboBox(choices), new JList(choices), };   public LookAndFeel() {     super("Look And Feel");     Container cp = getContentPane();     cp.setLayout(new FlowLayout());     for (int i = 0; i < samples.length; i++)       cp.add(samples[i]);   }   private static void usageError() {     System.out.println("Usage:LookAndFeel [cross|system|motif]");     System.exit(1);   }   public static void main(String[] args) {     if (args.length == 0)       usageError();     if (args[0].equals("cross")) {       try {         UIManager.setLookAndFeel(UIManager             .getCrossPlatformLookAndFeelClassName());       } catch (Exception e) {         e.printStackTrace();       }     } else if (args[0].equals("system")) {       try {         UIManager.setLookAndFeel(UIManager             .getSystemLookAndFeelClassName());       } catch (Exception e) {         e.printStackTrace();       }     } else if (args[0].equals("motif")) {       try {         UIManager.setLookAndFeel("com.sun.java."             + "swing.plaf.motif.MotifLookAndFeel");       } catch (Exception e) {         e.printStackTrace();       }     } else       usageError();     // Note the look & feel must be set before     // any components are created.     run(new LookAndFeel(), 300, 200);   }   public static void run(JFrame frame, int width, int height) {     frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);     frame.setSize(width, height);     frame.setVisible(true);   } } ///:~