Hallo,
ich möchte folgendes Szenario realisieren: Ich habe ein JLabel in einem Panel. Wenn ich nun auf das JLabel klicke, möchte ich einen neuen JInternalFrame erzeugen und diesen gleichzeitig vom Label "wegziehen". Dies kann man sich wie bei einem Kartenstapel vorstellen, ich klicke auf ein Kartenstapelsymbol (bei mir das Label), eine neue Karte (JInternalFrame) wird an dieser Stelle erstellt und ich kann sie dann wegziehen und woanders platzieren. Dabei soll die Maus nur einmal gedrückt werden, also dass beim Drücken der Maus die Karte erstellt wird, der Benutzer aber weiterhin auf der Maustaste bleibt und die Karte dann wegziehen kann ohne sie neu anklicken zu müssen.
Ich habe versucht, das mit den MousePressed und MouseReleased-Events zu implementieren, aber ich kriege es nicht hin, dass der JInternalFrame beim Erzeugen den Mausfokus erhält. Ich muss also einmal drücken zum Erstellen und dann den Frame erneut anklicken, um ihn woanders hinziehen zu können. Wenn ich das Erzeugen in das MouseReleased-Event packe, dann wird der Frame an der richtigen Stelle erzeugt, aber man sieht ihn eben erst, wenn man die Maus losgelassen hat. Er soll aber schon während des Ziehens sichtbar sein.
Ich hoffe ich habe mich verständlich ausgedrückt. Hat jemand vielleicht einen Ratschlag für mich?
ich möchte folgendes Szenario realisieren: Ich habe ein JLabel in einem Panel. Wenn ich nun auf das JLabel klicke, möchte ich einen neuen JInternalFrame erzeugen und diesen gleichzeitig vom Label "wegziehen". Dies kann man sich wie bei einem Kartenstapel vorstellen, ich klicke auf ein Kartenstapelsymbol (bei mir das Label), eine neue Karte (JInternalFrame) wird an dieser Stelle erstellt und ich kann sie dann wegziehen und woanders platzieren. Dabei soll die Maus nur einmal gedrückt werden, also dass beim Drücken der Maus die Karte erstellt wird, der Benutzer aber weiterhin auf der Maustaste bleibt und die Karte dann wegziehen kann ohne sie neu anklicken zu müssen.
Ich habe versucht, das mit den MousePressed und MouseReleased-Events zu implementieren, aber ich kriege es nicht hin, dass der JInternalFrame beim Erzeugen den Mausfokus erhält. Ich muss also einmal drücken zum Erstellen und dann den Frame erneut anklicken, um ihn woanders hinziehen zu können. Wenn ich das Erzeugen in das MouseReleased-Event packe, dann wird der Frame an der richtigen Stelle erzeugt, aber man sieht ihn eben erst, wenn man die Maus losgelassen hat. Er soll aber schon während des Ziehens sichtbar sein.
Ich hoffe ich habe mich verständlich ausgedrückt. Hat jemand vielleicht einen Ratschlag für mich?