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/Listing3610.java | 85 ++++++++++++++++++++++ 1 file changed, 85 insertions(+) create mode 100644 Master/Reference Architectures and Patterns/hjp5/examples/Listing3610.java (limited to 'Master/Reference Architectures and Patterns/hjp5/examples/Listing3610.java') diff --git a/Master/Reference Architectures and Patterns/hjp5/examples/Listing3610.java b/Master/Reference Architectures and Patterns/hjp5/examples/Listing3610.java new file mode 100644 index 0000000..ec07a0f --- /dev/null +++ b/Master/Reference Architectures and Patterns/hjp5/examples/Listing3610.java @@ -0,0 +1,85 @@ +/* Listing3610.java */ + +import java.awt.*; +import java.awt.event.*; +import javax.swing.*; +import javax.swing.border.*; + +public class Listing3610 +extends JFrame +implements MouseListener, ActionListener +{ + public Listing3610() + { + super("Kontextmenüs"); + addWindowListener(new WindowClosingAdapter(true)); + addMouseListener(this); + } + + //MouseListener + public void mouseClicked(MouseEvent event) + { + checkPopupMenu(event); + } + + public void mouseEntered(MouseEvent event) + { + } + + public void mouseExited(MouseEvent event) + { + } + + public void mousePressed(MouseEvent event) + { + checkPopupMenu(event); + } + + public void mouseReleased(MouseEvent event) + { + checkPopupMenu(event); + } + + private void checkPopupMenu(MouseEvent event) + { + if (event.isPopupTrigger()) { + JPopupMenu popup = new JPopupMenu(); + //Rückgängig hinzufügen + JMenuItem mi = new JMenuItem("Rueckgaengig"); + mi.addActionListener(this); + popup.add(mi); + //Separator hinzufügen + popup.addSeparator(); + //Ausschneiden, Kopieren, Einfügen hinzufügen + mi = new JMenuItem("Ausschneiden"); + mi.addActionListener(this); + popup.add(mi); + mi = new JMenuItem("Kopieren"); + mi.addActionListener(this); + popup.add(mi); + mi = new JMenuItem("Einfuegen"); + mi.addActionListener(this); + popup.add(mi); + //Menü anzeigen + popup.show( + event.getComponent(), + event.getX(), + event.getY() + ); + } + } + + //ActionListener + public void actionPerformed(ActionEvent event) + { + System.out.println(event.getActionCommand()); + } + + public static void main(String[] args) + { + Listing3610 frame = new Listing3610(); + frame.setLocation(100, 100); + frame.setSize(300, 200); + frame.setVisible(true); + } +} \ No newline at end of file -- cgit v1.2.3