S
scooterJava
Gast
Ich habe in einen JFrame ein JPanel, auf das ein MouseListener registriert ist. Jedoch kann ich die Maus auch außerhalb des Panels verschieben, was mir die bewegten Objekte in dem Panel verschwinden lässt.
Wie kann ich die Maus-/Tastaturbewegungen auf ein bestimmtes Areal oder auf die Grenzen der jeweiligen Komponente einschränken?
Eine Methode dazu habe ich nicht gefunden. Allenfalls fällt mir dazu ein, in der überschriebenen paitComponent() eine Abfrage einzubauen, ob getX() und getY() außerhalb bestimmter Grenzen liegen. Das erscheint mir aber wenig elegant.
Natürlich sollte ein Einschränken nur bei mouseDragged() passieren, denn sobald ich die linke Maustaste loslasse, müsste ich ja andere Elemente des Fensters (z. B. das Menü) erreichen können.
Hat jemand eine andere Idee/Beispielcode? Danke!
Wie kann ich die Maus-/Tastaturbewegungen auf ein bestimmtes Areal oder auf die Grenzen der jeweiligen Komponente einschränken?
Eine Methode dazu habe ich nicht gefunden. Allenfalls fällt mir dazu ein, in der überschriebenen paitComponent() eine Abfrage einzubauen, ob getX() und getY() außerhalb bestimmter Grenzen liegen. Das erscheint mir aber wenig elegant.
Natürlich sollte ein Einschränken nur bei mouseDragged() passieren, denn sobald ich die linke Maustaste loslasse, müsste ich ja andere Elemente des Fensters (z. B. das Menü) erreichen können.
Hat jemand eine andere Idee/Beispielcode? Danke!