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/Listing3006.java | 73 ++++++++++++++++++++++ 1 file changed, 73 insertions(+) create mode 100644 Master/Reference Architectures and Patterns/hjp5/examples/Listing3006.java (limited to 'Master/Reference Architectures and Patterns/hjp5/examples/Listing3006.java') diff --git a/Master/Reference Architectures and Patterns/hjp5/examples/Listing3006.java b/Master/Reference Architectures and Patterns/hjp5/examples/Listing3006.java new file mode 100644 index 0000000..636c826 --- /dev/null +++ b/Master/Reference Architectures and Patterns/hjp5/examples/Listing3006.java @@ -0,0 +1,73 @@ +/* Listing3006.java */ + +import java.awt.*; +import java.awt.event.*; + +class MyPopupMenu +extends PopupMenu +{ + public MyPopupMenu(ActionListener listener) + { + MenuItem mi; + + mi = new MenuItem("Rueckgaengig"); + mi.addActionListener(listener); + add(mi); + + addSeparator(); + + mi = new MenuItem("Ausschneiden"); + mi.addActionListener(listener); + add(mi); + + mi = new MenuItem("Kopieren"); + mi.addActionListener(listener); + add(mi); + + mi = new MenuItem("Einfuegen"); + mi.addActionListener(listener); + add(mi); + } +} + +public class Listing3006 +extends Frame +implements ActionListener +{ + MyPopupMenu popup; + + public static void main(String[] args) + { + Listing3006 wnd = new Listing3006(); + } + + public Listing3006() + { + super("Kontextmenü"); + setLocation(100,100); + setSize(300,200); + setVisible(true); + addWindowListener(new WindowClosingAdapter(true)); + //Kontextmenü erzeugen und aktivieren + popup = new MyPopupMenu(this); + add(popup); + enableEvents(AWTEvent.MOUSE_EVENT_MASK); + } + + public void processMouseEvent(MouseEvent event) + { + if (event.isPopupTrigger()) { + popup.show( + event.getComponent(), + event.getX(), + event.getY() + ); + } + super.processMouseEvent(event); + } + + public void actionPerformed(ActionEvent event) + { + System.out.println(event.getActionCommand()); + } +} \ No newline at end of file -- cgit v1.2.3