Cursor beim Drag and Drop

Status
Nicht offen für weitere Antworten.
was mitgeben kannst du nicht. Du kannst entweder die komponente mitbewegen oder dem cursor ein anderes Icon setzen. Hängt davon ab was du machen willst...
 
Wildcard hat gesagt.:
was mitgeben kannst du nicht. Du kannst entweder die komponente mitbewegen oder dem cursor ein anderes Icon setzen. Hängt davon ab was du machen willst...
Ja, also das mit "Cursor anderes Icon geben" funktioniert leider nicht:
Code:
Cursor cursor = getToolkit().createCustomCursor(
new ImageIcon("images/abc.gif" ).getImage(), new Point(10, 10), "Cursor" );
JComponent.setCursor(cursor);
Da meine Graphik größer als 32 x 32 Pixel ist, scheidet dieser Weg leider aus.
Wie kann ich denn die Komponente bewegen?
Kann ich u. U. auch ein zugewiesenes Icon einer Komponente bewegen?

By<e Ulrich
PS: Bin für Rat dankbar, Wildcard.
 
Wildcard hat gesagt.:
Du kannst sie ja kleiner machen...
Um was für Komponenten geht es, und was hast du genau vor?
Könnte ich, sieht aber "§$WR3$ aus und widerspricht eigentlich dem Sinn: Wenn ich ein Bild von JLabel A nach JLabel B ziehe, soll sich ja nicht die Graphik zwischenzeitlich verkleinern.

B<ye Ulrich
 
Ich würde sagen nimm die Graphics deines übergeordneten Panels und zeichne damit das Bild an die cursor-pos.
Beim Loslassen in einem JLabel setzt du dort das ImageIcon..
 
Wildcard hat gesagt.:
Ich würde sagen nimm die Graphics deines übergeordneten Panels und zeichne damit das Bild an die cursor-pos.
Beim Loslassen in einem JLabel setzt du dort das ImageIcon..
OK, logisch verstehe ich das. Aber was bedeutet "die Graphics nehmen"?
Kannst du mir da vielleicht einen link schicken, wo das genauer erklärt steht?
Mit welcher Methode kann ich an die Cursorposition ein Image setzen?

Danke für die Info,
By<e Ulrich
 
Kann dir dafür keinen Link geben, aber vieleicht hilft google.
Deine Labels liegen in einem Panel und haben ein eigenes Graphics Objekt das innerhalb ihrer grenzen zeichnen kann.
Wenn du das Bild aber auserhalb der Labels zeichnen willst musst du das Bild aus dem Label entfernen und in der übergeordneten Komponenet weiterzeichnen.
-im panel paintComponent überschreiben
-MouseMotionListener adden
-bei MousePressed in move modus(boolean flag) wechseln
-in der übergeordneten Komponente das Bild holen auf das geklickt wurde
-im label bild entfernen
-solange nicht mouseReleased Bild an mouse-Position zeichnen
-bei mouseReleased move-modus aus und bild auf label adden

so als grobe idee. 😀
 
du könntest das bild auf die glasspane malen, wä noch einfacherer
 
Status
Nicht offen für weitere Antworten.

Neue Themen


Zurück
Oben