summaryrefslogtreecommitdiffstats
path: root/Master/Reference Architectures and Patterns/hjp5/examples/Listing3608.java
diff options
context:
space:
mode:
authorSven Eisenhauer <sven@sven-eisenhauer.net>2023-11-10 15:11:48 +0100
committerSven Eisenhauer <sven@sven-eisenhauer.net>2023-11-10 15:11:48 +0100
commit33613a85afc4b1481367fbe92a17ee59c240250b (patch)
tree670b842326116b376b505ec2263878912fca97e2 /Master/Reference Architectures and Patterns/hjp5/examples/Listing3608.java
downloadStudium-master.tar.gz
Studium-master.tar.bz2
add new repoHEADmaster
Diffstat (limited to 'Master/Reference Architectures and Patterns/hjp5/examples/Listing3608.java')
-rw-r--r--Master/Reference Architectures and Patterns/hjp5/examples/Listing3608.java65
1 files changed, 65 insertions, 0 deletions
diff --git a/Master/Reference Architectures and Patterns/hjp5/examples/Listing3608.java b/Master/Reference Architectures and Patterns/hjp5/examples/Listing3608.java
new file mode 100644
index 0000000..b7939dd
--- /dev/null
+++ b/Master/Reference Architectures and Patterns/hjp5/examples/Listing3608.java
@@ -0,0 +1,65 @@
+/* Listing3608.java */
+
+import java.awt.*;
+import java.awt.event.*;
+import javax.swing.*;
+
+public class Listing3608
+extends JFrame
+implements ActionListener
+{
+ public Listing3608()
+ {
+ super("Swing-Menütest");
+ addWindowListener(new WindowClosingAdapter(true));
+ JMenuBar menubar = new JMenuBar();
+ menubar.add(createFileMenu());
+ setJMenuBar(menubar);
+ }
+
+ public void actionPerformed(ActionEvent event)
+ {
+ System.out.println(event.getActionCommand());
+ }
+
+ //---Private Methoden---------------
+ private JMenu createFileMenu()
+ {
+ JMenu ret = new JMenu("Datei");
+ ret.setMnemonic('D');
+ JMenuItem mi;
+ //Öffnen
+ mi = new JMenuItem("Öffnen", 'f');
+ setCtrlAccelerator(mi, 'O');
+ mi.addActionListener(this);
+ ret.add(mi);
+ //Speichern
+ mi = new JMenuItem("Speichern", 'p');
+ setCtrlAccelerator(mi, 'S');
+ mi.addActionListener(this);
+ ret.add(mi);
+ //Separator
+ ret.addSeparator();
+ //Beenden
+ mi = new JMenuItem("Beenden", 'e');
+ mi.addActionListener(this);
+ ret.add(mi);
+ return ret;
+ }
+
+ private void setCtrlAccelerator(JMenuItem mi, char acc)
+ {
+ KeyStroke ks = KeyStroke.getKeyStroke(
+ acc, Event.CTRL_MASK
+ );
+ mi.setAccelerator(ks);
+ }
+
+ public static void main(String[] args)
+ {
+ Listing3608 frame = new Listing3608();
+ frame.setLocation(100, 100);
+ frame.setSize(300, 200);
+ frame.setVisible(true);
+ }
+} \ No newline at end of file