/* Listing3005.java */ import java.awt.*; import java.awt.event.*; class MainMenu4 extends MenuBar { private MenuItem miRueck; private CheckboxMenuItem miFarbe; private static void addNewMenuItem(Menu menu, String name, ActionListener listener) { int pos = name.indexOf('&'); MenuShortcut shortcut = null; MenuItem mi; if (pos != -1) { if (pos < name.length() - 1) { char c = name.charAt(pos + 1); shortcut=new MenuShortcut(Character.toLowerCase(c)); name=name.substring(0,pos)+name.substring(pos + 1); } } if (shortcut != null) { mi = new MenuItem(name, shortcut); } else { mi = new MenuItem(name); } mi.setActionCommand(name); mi.addActionListener(listener); menu.add(mi); } public MainMenu4(ActionListener listener) { Menu m; //Menü "Größe" m = new Menu("Größe"); addNewMenuItem(m, "&Größer", listener); addNewMenuItem(m, "&Kleiner", listener); m.addSeparator(); addNewMenuItem(m, "B&eenden", listener); add(m); //Menü "Position" m = new Menu("Position"); addNewMenuItem(m, "&Links", listener); addNewMenuItem(m, "&Rechts", listener); addNewMenuItem(m, "&Oben", listener); addNewMenuItem(m, "&Unten", listener); add(m); } } public class Listing3005 extends Frame implements ActionListener { public static void main(String[] args) { Listing3005 wnd = new Listing3005(); } public Listing3005() { super("Menü-ActionEvents"); setLocation(100,100); setSize(300,200); setMenuBar(new MainMenu4(this)); setVisible(true); addWindowListener(new WindowClosingAdapter(true)); } public void paint(Graphics g) { Insets in = getInsets(); Dimension d = getSize(); g.setColor(Color.red); g.drawLine( in.left, in.top, d.width - in.right, d.height - in.bottom ); g.drawLine( in.left, d.height - in.bottom, d.width - in.right, in.top ); } public void actionPerformed(ActionEvent event) { String cmd = event.getActionCommand(); if (cmd.equals("Größer")) { Dimension d = getSize(); d.height *= 1.05; d.width *= 1.05; setSize(d); } else if (cmd.equals("Kleiner")) { Dimension d = getSize(); d.height *= 0.95; d.width *= 0.95; setSize(d); } else if (cmd.equals("Beenden")) { setVisible(false); dispose(); System.exit(0); } else if (cmd.equals("Links")) { setLocation(getLocation().x-10, getLocation().y); } else if (cmd.equals("Rechts")) { setLocation(getLocation().x+10, getLocation().y); } else if (cmd.equals("Oben")) { setLocation(getLocation().x, getLocation().y-10); } else if (cmd.equals("Unten")) { setLocation(getLocation().x, getLocation().y+10); } } }