From 33613a85afc4b1481367fbe92a17ee59c240250b Mon Sep 17 00:00:00 2001 From: Sven Eisenhauer Date: Fri, 10 Nov 2023 15:11:48 +0100 Subject: add new repo --- .../hjp5/examples/Listing3609.java | 86 ++++++++++++++++++++++ 1 file changed, 86 insertions(+) create mode 100644 Master/Reference Architectures and Patterns/hjp5/examples/Listing3609.java (limited to 'Master/Reference Architectures and Patterns/hjp5/examples/Listing3609.java') diff --git a/Master/Reference Architectures and Patterns/hjp5/examples/Listing3609.java b/Master/Reference Architectures and Patterns/hjp5/examples/Listing3609.java new file mode 100644 index 0000000..401795c --- /dev/null +++ b/Master/Reference Architectures and Patterns/hjp5/examples/Listing3609.java @@ -0,0 +1,86 @@ +/* Listing3609.java */ + +import java.awt.*; +import java.awt.event.*; +import javax.swing.*; + +public class Listing3609 +extends JFrame +{ + public Listing3609() + { + super("Swing-Menütest II"); + addWindowListener(new WindowClosingAdapter(true)); + JMenuBar menubar = new JMenuBar(); + menubar.add(createExtrasMenu()); + setJMenuBar(menubar); + } + + //---Private Methoden--------------- + private JMenu createExtrasMenu() + { + JMenu ret = new JMenu("Extras"); + ret.setMnemonic('X'); + JMenuItem mi; + //Tools-Untermenü + ret.add(createToolsSubMenu()); + //Separator + ret.addSeparator(); + //Statuszeile und Buttonleiste + mi = new JCheckBoxMenuItem("Statuszeile"); + mi.setMnemonic('z'); + ((JCheckBoxMenuItem)mi).setState(true); + ret.add(mi); + mi = new JCheckBoxMenuItem("Buttonleiste"); + mi.setMnemonic('B'); + ret.add(mi); + //Separator + ret.addSeparator(); + //Offline, Verbinden, Anmelden + ButtonGroup bg = new ButtonGroup(); + mi = new JRadioButtonMenuItem("Offline", true); + mi.setMnemonic('O'); + ret.add(mi); + bg.add(mi); + mi = new JRadioButtonMenuItem("Verbinden"); + mi.setMnemonic('V'); + ret.add(mi); + bg.add(mi); + mi = new JRadioButtonMenuItem("Anmelden"); + mi.setMnemonic('A'); + ret.add(mi); + bg.add(mi); + //Separator + ret.addSeparator(); + //Sicherheit + mi = new JMenuItem( + "Sicherheit", + new ImageIcon("lock.gif") + ); + mi.setMnemonic('S'); + mi.setHorizontalTextPosition(JMenuItem.LEFT); + ret.add(mi); + return ret; + } + + private JMenu createToolsSubMenu() + { + JMenu ret = new JMenu("Tools"); + ret.setMnemonic('T'); + ret.add(new JMenuItem("Rechner", 'R')); + ret.add(new JMenuItem("Editor", 'E')); + ret.add(new JMenuItem("Browser", 'B')); + ret.add(new JMenuItem("Zipper", 'Z')); + ret.add(new JMenuItem("Snapper", 'S')); + ret.add(new JMenuItem("Viewer", 'V')); + return ret; + } + + public static void main(String[] args) + { + Listing3609 frame = new Listing3609(); + frame.setLocation(100, 100); + frame.setSize(300, 200); + frame.setVisible(true); + } +} \ No newline at end of file -- cgit v1.2.3