G
Guest
Gast
Hi,
ich habe eine JPanel, das ich als Zeichenfläche nutze. Mit einfachen Rechtsklick soll ein Popup Menu erscheinen. Das hat in meiner ersten Version wunderbar funktioniert aber jetzt habe ich die Listener in einer Unterklasse des JPanels. ProcessMouseEvent feuert nun gar nicht mehr.
Vorher:
Jetzt:
Hilfe
ich habe eine JPanel, das ich als Zeichenfläche nutze. Mit einfachen Rechtsklick soll ein Popup Menu erscheinen. Das hat in meiner ersten Version wunderbar funktioniert aber jetzt habe ich die Listener in einer Unterklasse des JPanels. ProcessMouseEvent feuert nun gar nicht mehr.
Vorher:
Code:
class LineDrawCanvas extends JPanel implements MouseListener,
MouseMotionListener, DragGestureListener, DragSourceListener,
DropTargetListener, ActionListener {
LineDrawCanvas()
{
addMouseListener(this);
addMouseMotionListener(this);
}
public void processMouseEvent(MouseEvent event) {
if (event.isPopupTrigger()) {
popX = event.getX();
popY = event.getY();
popup.show(event.getComponent(), x, y);
}
super.processMouseEvent(event);
}
}
Jetzt:
Code:
public class LineDrawCanvas extends JPanel implements Observer {
LineDrawCanvasListener listener;
LineDrawCanvas() {
listener = new LineDrawCanvasListener(this);
addMouseListener(listener);
addMouseMotionListener(listener);
}
class LineDrawCanvasListener implements MouseListener,
MouseMotionListener, DragGestureListener, DragSourceListener,
DropTargetListener, ActionListener
{
public void processMouseEvent(MouseEvent event) {
if (event.isPopupTrigger()) {
popX = event.getX();
popY = event.getY();
popup.show(event.getComponent(), x, y);
}
LineDrawCanvas.super.processMouseEvent(event);
}
}
}
Hilfe