/* 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); } }