# JPanel - Mausbewegung begrenzen



## scooterJava (12. Apr 2010)

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!


----------



## Gast2 (12. Apr 2010)

Wenn du DnD richtig einbaust macht das Swing schon für dich...


----------



## scooterJava (12. Apr 2010)

Dann habe ich wohl was übersehen. Was meinst du genau?


----------



## Gast2 (12. Apr 2010)

Introduction to DnD (The Java™ Tutorials > Creating a GUI With JFC/Swing > Drag and Drop and Data Transfer)


----------

