Drag&Drop Jlist -> JList

Status
Nicht offen für weitere Antworten.

farmer

Mitglied
Hi!
Ich bin gerade dabei, meine ersten Schritte mit Drag&Drop zu versuchen...ich möchte Zeilen einer JList A per DnD in eine andere JList B kopieren. Mein Problem ist momentan nur, dass ich für beide JList ein eigenes ListModel geschrieben habe, und das verwirrt mich gerade etwas...außerdem habe ich einige Monate lang nicht mehr Programmiert und bin etwas aus der Übung...
Ich lese parallel das DnD-Tutorial von Sun und durchsuche regelmäßig dieses Forum, im Verständnis weitergeholfen hat mir insbesondere dieser Thread:
http://www.java-forum.org/de/viewtopic.php?t=54013

Trotzdem habe ich noch einige Fragen:

Dies steht als Beispiel für eine Methode im TransferHandler im Tutorial von Sun:
Code:
Transferable createTransferable(JComponent c) {
    return new StringSelection(c.getSelection());
}

Diese Zeilen kann ich ja so nicht benutzen...da ich keine Strings habe, sondern die Daten in meinem ListModel in einem Vector<File> speichere. Wenn ich jetzt die Methode c.getSelection (zu wem auch immer gehörend...ich finde sie zumindest unter JComponent nicht) ausführe, was genau wird aus der Liste eigentlich übertragen? Vector<File> oder File[] oder Object[] oder int[] oder oder....? Oder seh ich den Wald vor Bäumen nicht? ;-)
Wenn ich mal annehme, dass c die JList ist - muss ich dann die Methode noch selber schreiben bzw. muss ich StringSelection durch eine eigene Klasse (implements Transferable?) ersetzen?

Soweit erstmal, ich melde mich später nochmal und trage bestimmt noch ein paar Fragen nach wenn ich mir das Tutorial weiter durchgeguckt habe...
vielen Dank schonmal für jede Art von Hilfe!

EDIT:
Ich habe mir jetzt mal das "generische" Beispiel für ein Transferable aus den Beispielsammlung dieses Forums angeguckt....es wird langsam klarer ;-)
Die obige Frage konnte ich mir zwar nicht beanworten, dafür hab ich ne neue:
Dort steht:
Code:
class GenericTransferable implements Transferable {
    private Object data;
    private static final DataFlavor[] flavors = new DataFlavor[1];
    static {flavors[0] = DataFlavor.stringFlavor;}
    public GenericTransferable(final Object data) {
        super();
        this.data = data;
    }
    public DataFlavor[] getTransferDataFlavors() {return flavors;}
    public boolean isDataFlavorSupported(final DataFlavor flavor) {return true;}
    public Object getTransferData(final DataFlavor flavor) throws UnsupportedFlavorException, IOException {
        return data;
    }
}

Ich verstehe nicht ganz, was der "DataFlavor[] flavors" mit den eigentlichen Daten "Object data" (die ja aus dem JComponent übergeben wurden) zu tun hat...es findet ja keinerlei "Austausch" oder "Kombination" von Informationen statt, die die Existenz von DataFlavor[] in diesem Scope rechtfertigen? Insbesondere
"flavors[0] = DataFlavor.stringFlavor;" verstehe ich überhaupt (noch) nicht...aber ich werde mal in die Richtung weitergooglen...
 

André Uhres

Top Contributor
"StringSelection" legt einfach nur einen Transferable an, der den angegeben String transportieren kann. Beispiel:
Code:
new StringSelection(((JList)c).getSelectedValue().toString());

"GenericTransferable" ist sehr allgemein gehalten. Weil jedoch der "DataFlavor" halt zur Schnittstelle "Transferable" gehört,
dient hier "DataFlavor.stringFlavor" nur als Platzhalter und sollte ignoriert werden.

Wenn man "DataFlavor"-abhängig implementieren will, dann muss man ihn in den relevanten
dnd-Methoden jeweils überprüfen, andernfalls hat er keinen Nährwert.
Meistens genügt es aber, den Typ der Quellkomponente (z.B. "JList") abzufragen, um zu wissen, was zu tun ist.
 

farmer

Mitglied
André Uhres hat gesagt.:
"GenericTransferable" ist sehr allgemein gehalten. Weil jedoch der "DataFlavor" halt zur Schnittstelle "Transferable" gehört, dient hier "DataFlavor.stringFlavor" nur als Platzhalter und sollte ignoriert werden.
Das hat mir doch schon mal sehr weitergeholfen...danke!

Ich habe es endlich hinbekommen, auch wenn es so gut wie ohne jede (Typen-) Sicherheitsabfrage läuft...
 
Status
Nicht offen für weitere Antworten.
Ähnliche Java Themen
  Titel Forum Antworten Datum
M Swing JList > Drag & Drop AWT, Swing, JavaFX & SWT 2
P JList: Reihenfolge der Elemente per Drag'n'Drop ändern. AWT, Swing, JavaFX & SWT 9
E Drag & Drop von jTree in JList AWT, Swing, JavaFX & SWT 5
E JList und Drag&Drop von Dateien AWT, Swing, JavaFX & SWT 1
T JList Drag & Drop Fähig machen AWT, Swing, JavaFX & SWT 7
J Drag und drop aus einer JTable - bitte um Unterstützung AWT, Swing, JavaFX & SWT 2
G JPanel per Drag and Drop JButtons und Bilder ablegen AWT, Swing, JavaFX & SWT 1
AmsananKING ListView Drag And Drop AWT, Swing, JavaFX & SWT 0
AmsananKING Drag And Drop Filenames Inside A Listview AWT, Swing, JavaFX & SWT 1
DonBronson Java Graphics bewegbar machen (Drag&Drop) AWT, Swing, JavaFX & SWT 3
M Polygon per Drag&Drop verschieben AWT, Swing, JavaFX & SWT 26
Z Swing Drag and Drop mit einem JButton AWT, Swing, JavaFX & SWT 1
N Drag and Drop Fenster AWT, Swing, JavaFX & SWT 11
F Drag&Drop mit Transparenter Farbe bei PNG AWT, Swing, JavaFX & SWT 0
D JavaFX Pane per Drag&Drop bewegen? AWT, Swing, JavaFX & SWT 2
L JavaFX Drag and Drop funktioniert nicht AWT, Swing, JavaFX & SWT 3
J Drag and Drop von eigenen Objekten AWT, Swing, JavaFX & SWT 3
J Drag and Drop eines Buttons AWT, Swing, JavaFX & SWT 0
T Swing Drag and Drop für JComponents AWT, Swing, JavaFX & SWT 1
Z Swing Drag&Drop zwischen JTable und JTree AWT, Swing, JavaFX & SWT 4
F Drag und Drop AWT, Swing, JavaFX & SWT 0
L JavaFX JavaFX Chart Drag and Drop AWT, Swing, JavaFX & SWT 3
D JavaFX Drag&Drop mehrerer TreeViews oder TableViews AWT, Swing, JavaFX & SWT 1
P Drag & Drop zwischen Panels AWT, Swing, JavaFX & SWT 0
U Drag and Drop mit imageview AWT, Swing, JavaFX & SWT 0
U Drag and Drop imageviews AWT, Swing, JavaFX & SWT 8
D SteelSeries in Netbeans als Drag-and-Drop einbinden AWT, Swing, JavaFX & SWT 0
C JTable Drag and Drop von Zeilen innerhalb einer Table AWT, Swing, JavaFX & SWT 2
S Swing Update eine JTabelle nach einer Drag&Drop Operation AWT, Swing, JavaFX & SWT 0
S Swing Suche Drag & Drop Beispiele AWT, Swing, JavaFX & SWT 1
A Drag and Drop mit JAVAFX- Scenebuilder AWT, Swing, JavaFX & SWT 1
R Performance Drag and Drop & Timer AWT, Swing, JavaFX & SWT 3
R Drag and Drop Problem auf Jpanel AWT, Swing, JavaFX & SWT 2
N Swing JTable und Drag und Drop AWT, Swing, JavaFX & SWT 2
A Drag and Drop eigener Objekte AWT, Swing, JavaFX & SWT 7
C Drag and Drop (inventar) AWT, Swing, JavaFX & SWT 15
F Swing Drag and Drop in JTree aus verschiedenen Listen AWT, Swing, JavaFX & SWT 6
T Swing JButton per Drag&Drop verschieben AWT, Swing, JavaFX & SWT 5
Iron Monkey JFileChooser - Drag and Drop AWT, Swing, JavaFX & SWT 5
Iron Monkey Nach Drag & Drop die Datei auf Komponent darstellen AWT, Swing, JavaFX & SWT 2
M AWT Drag n Drop-Support für Component AWT, Swing, JavaFX & SWT 5
HaukeG Swing Drag & Drop in verschiedenen Varianten AWT, Swing, JavaFX & SWT 4
S Swing Drag&Drop mit TransferHandler und JPanels AWT, Swing, JavaFX & SWT 8
C Swing Simulation von Drag and Drop Events AWT, Swing, JavaFX & SWT 3
H Swing "Drag and Drop" eines JComponent über ein JPanel AWT, Swing, JavaFX & SWT 2
R Drag 'n Drop AWT, Swing, JavaFX & SWT 3
S Selektion bei Drag&Drop AWT, Swing, JavaFX & SWT 4
C Swing Drag and Drop mit Objekten in einem Fenster. AWT, Swing, JavaFX & SWT 9
T SWT Drag&Drop: Eclipse FileTransfer mit Icons AWT, Swing, JavaFX & SWT 14
F Drag & Drop durch Verbindungslinien AWT, Swing, JavaFX & SWT 10
T Swing Drag and Drop - JLabels tauschen statt überschreiben AWT, Swing, JavaFX & SWT 11
S Drag and Drop über 2 Panels AWT, Swing, JavaFX & SWT 2
K JButtons innerhalb eines JPanels verschieben (DRAG&DROP) AWT, Swing, JavaFX & SWT 5
B Drag and Drop AWT, Swing, JavaFX & SWT 6
K Drag and Drop Workbench AWT, Swing, JavaFX & SWT 2
P SWT Eclipse Draw2D Drag and Drop (ruckelt) AWT, Swing, JavaFX & SWT 4
F SWT Drag and Drop im TreeViewer AWT, Swing, JavaFX & SWT 4
B Swing Drag&Drop mit Feedback (Image am Mauszeiger) AWT, Swing, JavaFX & SWT 7
Spin JFrame/ Frame Drag and Drop AWT, Swing, JavaFX & SWT 13
A TransferHandler & Drag n' Drop AWT, Swing, JavaFX & SWT 2
R Drag an Drop JTable Zelle AWT, Swing, JavaFX & SWT 6
D Drag & Drop - node.isRoot AWT, Swing, JavaFX & SWT 3
E Swing Drag n Drop Verschieben von Labels o.ä. AWT, Swing, JavaFX & SWT 10
E Swing Beim Drag & Drop, Drag verbieten?! AWT, Swing, JavaFX & SWT 2
E JTree Autoscroll bei Drag and Drop AWT, Swing, JavaFX & SWT 4
F Swing Problem mit Drag&Drop in JTable AWT, Swing, JavaFX & SWT 4
C keine weiteren Events während Drag&Drop Operation möglich? AWT, Swing, JavaFX & SWT 5
E Drag&Drop zwischen 2 Listen AWT, Swing, JavaFX & SWT 5
0 Swing Drag n' Drop Bug wenn Source und Target gleiche Komponente? AWT, Swing, JavaFX & SWT 4
C Drag and Drop JPanel auf JPanel nach drop erneut verschieben? AWT, Swing, JavaFX & SWT 3
M Swing JTable Drag'n'Drop von Dateien AWT, Swing, JavaFX & SWT 3
M Drag and Drop: Quellfenster AWT, Swing, JavaFX & SWT 2
M Buttons per Drag & Drop im GridBagLayout verschieben AWT, Swing, JavaFX & SWT 6
C Drag an Drop vom JTree zur JTable AWT, Swing, JavaFX & SWT 4
Z Drag and Drop auf Application AWT, Swing, JavaFX & SWT 3
G Drag and Drop JTree to Canvas AWT, Swing, JavaFX & SWT 7
H Drag&Drop von JComponents AWT, Swing, JavaFX & SWT 6
G JTable drag and drop AWT, Swing, JavaFX & SWT 4
H Drag&Drop mit GWT AWT, Swing, JavaFX & SWT 8
B Swing Drag&Drop einzelner Zellen in einer JTable AWT, Swing, JavaFX & SWT 12
A Swing Drag and Drop TreeNode User Object AWT, Swing, JavaFX & SWT 3
K Swing Wie ändere ich die default action für Drag&Drop AWT, Swing, JavaFX & SWT 6
R JLayeredPane - Drag&Drop - mouseDragged AWT, Swing, JavaFX & SWT 6
C JTable mit RowSorter und Drag & Drop: Zeile verschieben AWT, Swing, JavaFX & SWT 4
V SWT TreeViewer Drag'n'Drop LocalSelectionTransfer AWT, Swing, JavaFX & SWT 10
R Swing JLayeredPane - Drag&Drop Positionen vertauschen AWT, Swing, JavaFX & SWT 3
F Drag & Drop mit eigenen Komponenten AWT, Swing, JavaFX & SWT 2
B SWT - Drag & Drop innerhalb einer Table AWT, Swing, JavaFX & SWT 3
S Drag'n'Drop AWT, Swing, JavaFX & SWT 8
E Drag&Drop JTable; Renderer füllt alle Zellen AWT, Swing, JavaFX & SWT 10
M Drag & Drop in Swing (createTransferable) AWT, Swing, JavaFX & SWT 6
T Drag Quelle beim Drop AWT, Swing, JavaFX & SWT 6
A Drag & Drop von Zeilen innerhalb einer Tabelle AWT, Swing, JavaFX & SWT 2
P Dateien per Drag&Drop ins Java-Fenster ziehen AWT, Swing, JavaFX & SWT 8
G JTree Node ggf. aufklappen bei Drag & Drop? AWT, Swing, JavaFX & SWT 7
J Drag'n Drop imm selben Frame unterbinden AWT, Swing, JavaFX & SWT 3
S Table Row per Drag and Drop in andere Table schieben? AWT, Swing, JavaFX & SWT 14
X wiedermal Drag n Drop AWT, Swing, JavaFX & SWT 2
P Drag & Drop AWT, Swing, JavaFX & SWT 2
X Drag and Drop AWT, Swing, JavaFX & SWT 2

Ähnliche Java Themen

Neue Themen


Oben