Hallo Java-Freunde,
ich habe folgendes Problem:
Mein Programm hat einen WYSISYG-Editor. Darin kann der User u.a. mit der Maus Objekte verschieben. Außerdem lässt sich mit einem Rechtsklick auf ein Objekt ein Popup-Menü öffnen. Der Hacken ist nun, dass das Verschieben von Objekten derzeit mit ALLEN verfügbaren Maustasten möglich ist, was den unschönen Effekt zur Folge hat, dass wenn der User beim Rechtsklicken auf ein Objekt die Maus versehentlich bewegt, das Objekt zusätzlich verschoben wird, bevor das Popup-Menü aufklappt.
Das musste ich wiederum bislang deshalb so implementieren, weil unter Windows erst ein 'losgelassener' Rechtsklick ein Popup-Trigger-Event darstellt, sprich, die Information, ob beim 'MouseEvent' tatsächlich die Popup-Trigger-Maustaste gedrückt wurde, sich erst in der 'mouseReleased(MouseEvent e)' abfragen lässt.
Kennt jemand eine Lösung, mit der man am Besten gleich beim Start der Anwendung die Popup-Trigger-Maustaste ermitteln könnte?
Vielen Dank!
ich habe folgendes Problem:
Mein Programm hat einen WYSISYG-Editor. Darin kann der User u.a. mit der Maus Objekte verschieben. Außerdem lässt sich mit einem Rechtsklick auf ein Objekt ein Popup-Menü öffnen. Der Hacken ist nun, dass das Verschieben von Objekten derzeit mit ALLEN verfügbaren Maustasten möglich ist, was den unschönen Effekt zur Folge hat, dass wenn der User beim Rechtsklicken auf ein Objekt die Maus versehentlich bewegt, das Objekt zusätzlich verschoben wird, bevor das Popup-Menü aufklappt.
Das musste ich wiederum bislang deshalb so implementieren, weil unter Windows erst ein 'losgelassener' Rechtsklick ein Popup-Trigger-Event darstellt, sprich, die Information, ob beim 'MouseEvent' tatsächlich die Popup-Trigger-Maustaste gedrückt wurde, sich erst in der 'mouseReleased(MouseEvent e)' abfragen lässt.
Code:
public void mousePressed(MouseEvent e) {
System.out.println(e.isPopupTrigger()); // liefert unter Windows IMMER 'false'
}
Kennt jemand eine Lösung, mit der man am Besten gleich beim Start der Anwendung die Popup-Trigger-Maustaste ermitteln könnte?
Vielen Dank!