Drag&Drop von Tabelle in Textfeld

Upgrade

Mitglied
Hallo zusammen dies ist mein erster Beitrag in diesem Forum, und ich hoffe die Problemstellung ist nicht allzu verwirrend.
Ich habe schon einige Beiträge zum Thema gelesen, aber zu meiner Problemlösung, haben die leider nicht so beigetragen.

Ich schildere einfach kurz mein Problem:

Ich habe ein JTable mit 2 Spalten (Variable, Beschreibung der Variable)
Außerdem habe ich noch 4 JTextfields.

Nun möchte ich gerne aus der 1 Spalte der Tabelle eine Variable anklicken und diese in eines der 4 Textfelder ziehen.

Soweit ich weis muss man:

1. tblVariablen.setDragEnabled(true);
2. tblVariablen.setDropMode(DropMode.ON);
3. tblVariablen.setTransferHandler(transferHandler);
setzen.

Aber wie ich es dann hinbekomme die Variable zu ziehen und in das richtige Textfeld zu setzen ist mir ein Rätsel.
Irgendwo muss ich sicherlich ein MouseEvent setzen oder etwas in der Art.

Vielleicht kann mir ja einer auf die Sprünge helfen.
Vielen Dank schonmal vorab.

Gruß Upgrade
 

Marco13

Top Contributor
Drag & Drop kann ein bißchen "magic" sein. Teilweise muss man da nicht viel mehr machen, als ein paar set-Methoden aufrufen, aber wenn das nicht reicht, kann es schnell tricky werden. Vermutlich würde die Frage deutlich schneller beantwortet, wenn es schon ein KSKB gäbe, damit man sich nicht das ganze drumherum erst selbst bauen muss, sondern den entscheidenden Punkt schneller finden kann.
 

XHelp

Top Contributor
Es könnte wie folgt aussehen:
Java:
public class DragTable extends JPanel {

	// Wenn du genau bestimmen willst, was kopiert wird (einzelner Wert einer
	// Zeile)
	private class MyTableTransferHandler extends TransferHandler {

		@Override
		public int getSourceActions(JComponent c) {
			return COPY;
		}

		@Override
		protected Transferable createTransferable(JComponent c) {
			if (c instanceof JTable) {
				JTable source = (JTable) c;
				int selectedRow = source.getSelectedRow();
				if (selectedRow > -1) {
					// hier gibst du eben nicht die gesamte Zeile zurück,
					// sondern nur den Wert der 1. Spalte
					return new StringSelection((String) source.getValueAt(
							selectedRow, 0));
				}
			}
			return null;
		}
	}

	private JTable someTable;
	private JTextField[] textFields;

	public DragTable() {
		initiateComponents();
		initiateGUI();
	}

	private void initiateComponents() {
		someTable = new JTable();
		TableModel someTableModel = new DefaultTableModel(new String[] {
				"Name", "Description" }, 20);
		for (int i = 0; i < someTableModel.getRowCount(); i++) {
			someTableModel.setValueAt("Name" + i, i, 0);
			someTableModel.setValueAt("Descr" + i, i, 1);
		}
		someTable.setModel(someTableModel);
		someTable.setSelectionMode(DefaultListSelectionModel.SINGLE_SELECTION);
		// hier gehts dann los mit spannenden sachen
		someTable.setDragEnabled(true);
		someTable.setTransferHandler(new MyTableTransferHandler());
		// und schon zu ende
		textFields = new JTextField[4];
		for (int i = 0; i < textFields.length; i++) {
			textFields[i] = new JTextField("field " + i);
		}
	}

	// uninteressant
	private void initiateGUI() {
		setLayout(new GridBagLayout());
		GridBagConstraints gc = new GridBagConstraints();
		gc.fill = GridBagConstraints.BOTH;
		gc.gridx = 0;
		gc.gridy = 0;
		gc.weightx = 1.0;
		gc.weighty = 1.0;
		gc.gridwidth = 4;
		gc.insets = new Insets(0, 0, 20, 0);
		add(someTable, gc);
		for (int i = 0; i < textFields.length; i++) {
			gc = new GridBagConstraints();
			gc.fill = GridBagConstraints.HORIZONTAL;
			gc.gridx = i;
			gc.gridy = 1;
			gc.weightx = 1.0;
			add(textFields[i], gc);
		}
	}

	// noch weniger interessant
	public static void main(String[] args) {
		JFrame frame = new JFrame();
		frame.add(new DragTable());
		frame.setDefaultCloseOperation(JFrame.DISPOSE_ON_CLOSE);
		frame.setSize(400, 400);
		frame.setVisible(true);

	}
}

Um das als KSKB abzustempeln ist natürlich viel Blabla drumherum.
 

Upgrade

Mitglied
Guten Morgen.

Vielen Dank für die schnelle Hilfe!!
Das KSKB hatte ich vergessen sorry =(

@XHelp
Super dein Beispiel hat mir sehr geholfen alles funktioniert super !!

Vielen vielen Dank
So schnell ist das problem gelöst :toll:

Gruß Upgrade
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
S Drag & Drop Hilfe Java Basics - Anfänger-Themen 5
DStrohma Grundsätzliche Fragen zu Drag & Drop Java Basics - Anfänger-Themen 1
M Drag & Drop - Interaktion zwischen Java und dem OS Java Basics - Anfänger-Themen 1
B Drag & Drop für Panels Java Basics - Anfänger-Themen 6
B List - Drag&Drop Java Basics - Anfänger-Themen 8
P Input/Output String via Drag & Drop auf jar-Archiv Java Basics - Anfänger-Themen 2
K Eclipse wie Swing per Drag und Drop erstellen Java Basics - Anfänger-Themen 2
S Drag and Drop von .txt Dateien in eine Liste Java Basics - Anfänger-Themen 2
M Drag and Drop eines Graphikelements Java Basics - Anfänger-Themen 19
R Drag&Drop mit Parametern Java Basics - Anfänger-Themen 6
B Drag and Drop fähige Trackliste..nurnoch ein kleines Problem Java Basics - Anfänger-Themen 16
O Drag & Drop mit Image? Java Basics - Anfänger-Themen 2
G Drag n' Drop - Probleme mit Transferable Java Basics - Anfänger-Themen 10
T ganzes Object Drag und Drop Java Basics - Anfänger-Themen 19
G Drag and Drop Java Basics - Anfänger-Themen 6
G Drag and drop Verständnissproblem. Java Basics - Anfänger-Themen 8
N drag and drop mit JList Java Basics - Anfänger-Themen 5
B Drag&Drop mit Swing Java Basics - Anfänger-Themen 17
B Swing: Zeichnen mit Drag and Drop Java Basics - Anfänger-Themen 11
R Drag'n'Drop Box Java Basics - Anfänger-Themen 2
E Cursor Image bei Drag'n'Drop ändern Java Basics - Anfänger-Themen 6
X Gwt DnD, Drag auf Droparea in anderer Klasse? Java Basics - Anfänger-Themen 0
K Drop-down Menü (swing) Java Basics - Anfänger-Themen 4
S Java und HTML- Drop Down- Mehrfachauswahl Java Basics - Anfänger-Themen 3
D Zwei Drop downs für voneinander abhängige Bundesländer- und Städteauswahl Java Basics - Anfänger-Themen 9
K SWT Drop Box Java Basics - Anfänger-Themen 11
E Adobe Designer Drop Down Feld & If Abfrage Java Basics - Anfänger-Themen 4
M statt drop down menü - buttons Java Basics - Anfänger-Themen 5
melisax Java 2D-Array Tabelle Java Basics - Anfänger-Themen 4
L Anpassung der Spaltenbreite auch auf eine zweite Tabelle anwenden Java Basics - Anfänger-Themen 8
P Zweidimensionales Array als Tabelle mit befüllten Zahlen Java Basics - Anfänger-Themen 10
J Tabelle Sortieren Java Basics - Anfänger-Themen 48
Sonas814 ASCII-Tabelle Java Basics - Anfänger-Themen 2
J Jtable Eingabe nach Klick ausserhalb der Tabelle übernehmen Java Basics - Anfänger-Themen 6
J Autovervollständigung in einer Tabelle Java Basics - Anfänger-Themen 40
RudiRüssel maximale Anzahl von Schlüsseln in einer Hash Tabelle Java Basics - Anfänger-Themen 2
crrnogorka Letzte Zeile einer Tabelle "überschreibt" alle anderen Zeilen Java Basics - Anfänger-Themen 1
F Tabelle - Berechnung Rang Java Basics - Anfänger-Themen 2
N Tabelle schön in der Konsole ausgeben Java Basics - Anfänger-Themen 5
S Datenbank Tabelle eine Zeile an einer bestimmten Stelle einfügen Java Basics - Anfänger-Themen 2
D Tabelle in der Konsole Java Basics - Anfänger-Themen 3
H Meine Tabelle befüllen in .fxml Java Basics - Anfänger-Themen 16
B Import Tabelle - Struktur durch User einstellbar Java Basics - Anfänger-Themen 4
O Max Gewinn einer Tabelle Java Basics - Anfänger-Themen 12
D Apache POI Tabelle wechseln Java Basics - Anfänger-Themen 2
B Kann man eine Tabelle in Eclipse erzeugen und damit arbeiten? Java Basics - Anfänger-Themen 8
S Ich verstehe die RegEx Tabelle von Javadoc nicht so ganz Java Basics - Anfänger-Themen 3
krgewb ASCII-Tabelle Java Basics - Anfänger-Themen 12
BlueFox Tabelle in der Konsole ausgeben - Probleme Java Basics - Anfänger-Themen 1
V Operatoren Was will mir die Tabelle in meinem Lehrbuch sagen? (logische Operatoren) Java Basics - Anfänger-Themen 4
J Werte aus einer Tabelle übernehmen Java Basics - Anfänger-Themen 2
F Daten aus Excel-Tabelle in Java importieren Java Basics - Anfänger-Themen 15
W Befüllung einer Tabelle mit Checkbox, Trennung GUI und Model Java Basics - Anfänger-Themen 5
P ASCII-Tabelle Java Basics - Anfänger-Themen 5
T printf Daten aus der Tabelle in Excel übernehmen Java Basics - Anfänger-Themen 5
A Hash Tabelle Element suchen Java Basics - Anfänger-Themen 1
B Vererbung In offener Hash Tabelle einfügen Java Basics - Anfänger-Themen 4
M 1x1 Tabelle Abstände korrigieren Java Basics - Anfänger-Themen 2
P Wert aus Tabelle erhalten Java Basics - Anfänger-Themen 1
U Tabelle ändern und die Inhalte speichern Java Basics - Anfänger-Themen 9
I HTML Tabelle nur so lange erzeugen bis Höhe erreicht Java Basics - Anfänger-Themen 9
N Erste Schritte MySQL Tabelle in JList darstellen Java Basics - Anfänger-Themen 1
S Klassen Objekt- Tabelle / Dynamisches 2Dimensionales Array für Objekte Java Basics - Anfänger-Themen 6
H "Tabelle" Java Basics - Anfänger-Themen 4
B Tabelle mit Fremdschlüssel versehen Java Basics - Anfänger-Themen 0
M Primefaces tabelle bearbeiten Java Basics - Anfänger-Themen 4
M Tabelle aktualisieren (mal wieder) Java Basics - Anfänger-Themen 10
M Erste Schritte Tabelle aktualisieren (mal wieder) Java Basics - Anfänger-Themen 7
G JTable: Werte in Tabelle direkt ansprechen Java Basics - Anfänger-Themen 3
P Excel-Tabelle erstellen Java Basics - Anfänger-Themen 4
I Daten aus Arraylists in eine Tabelle übertragen Java Basics - Anfänger-Themen 2
B daten speichern in einer tabelle Java Basics - Anfänger-Themen 5
J Zuweisung/Tabelle Java Basics - Anfänger-Themen 6
M Werte aus Tabelle elegant zuordnen? Java Basics - Anfänger-Themen 2
D String aus txt in label für Tabelle einfügen Java Basics - Anfänger-Themen 8
S Abfragen wenn das ende einer Tabelle erreicht ist Java Basics - Anfänger-Themen 8
M Tabelle aktualisiert sich erst nach mausklick Java Basics - Anfänger-Themen 4
J Tabelle aus Website einlesen [nicht im Quellcode] Java Basics - Anfänger-Themen 6
J Tabelle aktuallisieren Java Basics - Anfänger-Themen 22
A Im Telefonbuch eine Tabelle ergänzen Java Basics - Anfänger-Themen 6
N Ergebnisse dynamisch in Tabelle schreiben Java Basics - Anfänger-Themen 3
F Werte aus Tabelle vergleichen/rechnen Java Basics - Anfänger-Themen 5
J Punkte hinzufügen Tabelle Java Basics - Anfänger-Themen 5
C CSV-Tabelle Java Basics - Anfänger-Themen 21
M nur 1 wert in tabelle Java Basics - Anfänger-Themen 3
M Kreuztabellenabfrage an Tabelle anfügen Java Basics - Anfänger-Themen 3
M Wert aus Tabelle lesen Java Basics - Anfänger-Themen 4
M Überschrift wird nicht angezeigt Tabelle Java Basics - Anfänger-Themen 2
O Tabelle Formatieren mit system.out.format Java Basics - Anfänger-Themen 11
M Tabelle mit Buttons Java Basics - Anfänger-Themen 24
M JSON Datensätze aus Website in Tabelle Java Basics - Anfänger-Themen 17
D Auf Objekt in Tabelle zugreifen Java Basics - Anfänger-Themen 4
D Eclipse und Visual Editor - erzeugen einer Tabelle Java Basics - Anfänger-Themen 8
Binary.Coder JTable bzw. Tabelle in bestimmte Form überführen Java Basics - Anfänger-Themen 5
D Inhalt der Spalten einer Tabelle addieren Java Basics - Anfänger-Themen 4
H JTable Überschrift der Tabelle wird nicht angezeigt Java Basics - Anfänger-Themen 5
F Aus Tabelle auslesen Java Basics - Anfänger-Themen 10
B Tabelle, Größe der Komponenten Java Basics - Anfänger-Themen 2
H ButtonGroup in Tabelle Java Basics - Anfänger-Themen 2
X Zeile in Tabelle kopieren und in andere einfügen Java Basics - Anfänger-Themen 6

Ähnliche Java Themen

Neue Themen


Oben