/* Listing3501.java */ import java.awt.event.*; import java.awt.*; import javax.swing.*; public class Listing3501 extends JFrame implements ActionListener { private static final String[] MONTHS = { "Januar", "Februar", "März", "April", "Mai", "Juni", "Juli", "August", "September", "Oktober", "November", "Dezember" }; public Listing3501() { super("Mein erstes Swing-Programm"); //Panel zur Namenseingabe hinzufügen JPanel namePanel = new JPanel(); JLabel label = new JLabel( "Name:", new ImageIcon("triblue.gif"), SwingConstants.LEFT ); namePanel.add(label); JTextField tf = new JTextField(30); tf.setToolTipText("Geben Sie ihren Namen ein"); namePanel.add(tf); namePanel.setBorder(BorderFactory.createEtchedBorder()); getContentPane().add(namePanel, BorderLayout.NORTH); //Monatsliste hinzufügen JList list = new JList(MONTHS); list.setToolTipText("Wählen Sie ihren Geburtsmonat aus"); getContentPane().add(new JScrollPane(list), BorderLayout.CENTER); //Panel mit den Buttons hinzufügen JPanel buttonPanel = new JPanel(); JButton button1 = new JButton("Metal"); button1.addActionListener(this); button1.setToolTipText("Metal-Look-and-Feel aktivieren"); buttonPanel.add(button1); JButton button2 = new JButton("Motif"); button2.addActionListener(this); button2.setToolTipText("Motif-Look-and-Feel aktivieren"); buttonPanel.add(button2); JButton button3 = new JButton("Windows"); button3.addActionListener(this); button3.setToolTipText("Windows-Look-and-Feel aktivieren"); buttonPanel.add(button3); buttonPanel.setBorder(BorderFactory.createEtchedBorder()); getContentPane().add(buttonPanel, BorderLayout.SOUTH); //Windows-Listener addWindowListener(new WindowClosingAdapter(true)); } public void actionPerformed(ActionEvent event) { String cmd = event.getActionCommand(); try { //PLAF-Klasse auswählen String plaf = "unknown"; if (cmd.equals("Metal")) { plaf = "javax.swing.plaf.metal.MetalLookAndFeel"; } else if (cmd.equals("Motif")) { plaf = "com.sun.java.swing.plaf.motif.MotifLookAndFeel"; } else if (cmd.equals("Windows")) { plaf = "com.sun.java.swing.plaf.windows.WindowsLookAndFeel"; } //LAF umschalten UIManager.setLookAndFeel(plaf); SwingUtilities.updateComponentTreeUI(this); } catch (UnsupportedLookAndFeelException e) { System.err.println(e.toString()); } catch (ClassNotFoundException e) { System.err.println(e.toString()); } catch (InstantiationException e) { System.err.println(e.toString()); } catch (IllegalAccessException e) { System.err.println(e.toString()); } } public static void main(String[] args) { Listing3501 frame = new Listing3501(); frame.setLocation(100, 100); frame.pack(); frame.setVisible(true); } }