60 lines
1.7 KiB
Java
60 lines
1.7 KiB
Java
//: gui/LookAndFeel.java
|
|
// Selecting different looks & feels.
|
|
// {Args: motif}
|
|
import javax.swing.*;
|
|
import java.awt.*;
|
|
import static net.mindview.util.SwingConsole.*;
|
|
|
|
public class LookAndFeel extends JFrame {
|
|
private String[] choices =
|
|
"Eeny Meeny Minnie Mickey Moe Larry Curly".split(" ");
|
|
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");
|
|
setLayout(new FlowLayout());
|
|
for(Component component : samples)
|
|
add(component);
|
|
}
|
|
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, 300);
|
|
}
|
|
} ///:~
|