Markierte Einträge (Dateien) in JList sollen in einen anderen Ordner verschoben werden.

javaKueken

Mitglied
Ich habe eine JList in der ich Dateien eines Ordners aufliste. Jetzt möchte ich per Mausklick einige Einträge in der JList auswählen und diese (und nur diese) in einen anderen Ordner verschieben. Ich schaffe es momentan per Buttonklick alle aufgelisteten Dateien zu verschieben. Dafür nutze ich diese Methode.

Java:
public void moveViaRename(File dateien, String zielPfad)
	{
		File neu = new File(zielPfad);
		File[] files = dateien.listFiles();

		if (files != null)
		{
			for (int i = 0; i < files.length; i++)
			{
				if (!files[i].isDirectory())
				{
					boolean success = files[i].renameTo(new File(neu, files[i]
							.getName()));
					if (!success)
					{
						System.err.println("Fehler beim Umbennen der Datei: "
								+ files[i].getName());
					}
					System.out.println(files[i].getName());
				}
			}
		}
	}

Dann habe ich auch schon eine Methode mit der ich die Auswahl in der JList auf der Konsole ausgeben kann. Da sehe ich die Pfade. Hier die Methode:

Java:
public void AuswahlVonListe(JList list)
	{
		int[] selectedIx = list.getSelectedIndices();

		// Get all the selected items using the indices
		for (int i = 0; i < selectedIx.length; i++)
		{
			Object sel = list.getModel().getElementAt(selectedIx[i]);
			System.out.println(sel);
		}
	}

Und jetzt will ich wissen wie ich nur die ausgewählten Dateien Verschieben kann, und nicht alle. Könnt ihr mir helfen?
 
S

SlaterB

Gast
du brauchst doch nur die Schleife ab Zeile 8 mit den Indexen, mit den sich daraus ergebenen Strings/ Files/ was auch immer ausführen,
zielPfad muss natürlich irgendwo herkommen,

oder anders gesprochen:
nach Zeile 9 im unteren Code musst du an ein File-Objekt kommen, abhängig davon, was sel nun ist,
dahinter die Codezeilen von Zeile 12 oben, natürlich statt files die hier verwendete neue File-Variable usw.,
etwas denken und mitmachen muss man schon, aber erscheint doch alles ziemlich einfach?
 

javaKueken

Mitglied
du brauchst doch nur die Schleife ab Zeile 8 mit den Indexen, mit den sich daraus ergebenen Strings/ Files/ was auch immer ausführen,
zielPfad muss natürlich irgendwo herkommen,

oder anders gesprochen:
nach Zeile 9 im unteren Code musst du an ein File-Objekt kommen, abhängig davon, was sel nun ist,
dahinter die Codezeilen von Zeile 12 oben, natürlich statt files die hier verwendete neue File-Variable usw.,
etwas denken und mitmachen muss man schon, aber erscheint doch alles ziemlich einfach?


Ich glaub, ich habe deinen Tipp nicht verstanden. Kann auch sein, dass meine Java Kenntnisse einfach zu dürftig sind. Kannst du mir das irgendwie anders erläutern?
zielPfad = ein String (Pfad: D:/.../...)
Irgendwie suche ich sowas wie getFileAt[index] oder so... bin mir aber nicht sicher. Ich verzweifle.
 
S

SlaterB

Gast
wie ich zweifach angesprochen habe wäre es interessant zu wissen was 'sel' ist,
was tust du in dein JList-Model, was ist die Ausgabe, was liefert getClass()?
letzlich doch irgendwie der Pfad, also kannst du mindestens ein neues File-Objekt dort erstellen,
oder welche genauen Fehlermeldungen siehst du auf dich hereinbrechen?

danach wie gesagt analog zu files weiter
 

Michael...

Top Contributor
Was steckt denn in Deiner JList drin File Objekte oder Strings?
Bei ersteren kannst Du einfach casten:
Java:
File file = (File)list.getModel().getElementAt(selectedIx[i]);
Bei zweiterem musst Du aus dem String ein neues File Objekt erstellen.... new File(...

JList bietet auch die Methode getSelectedValues() damit könntest Du direkt über die Selektion iterieren ohne, dass Du zuerst die Indizes liest und über das Model iterierst.
 

javaKueken

Mitglied
Hier wird eine Jlist mit Inhalt gefüllt:

Java:
public void tifDefaultPfadAuflistung()
	{
		listeninhalt = new File(tifDateienPfad);
		File[] dateien = listeninhalt.listFiles();

		listModel = new DefaultListModel();
		for (int i = 0, n = dateien.length; i < n; i++)
		{
			listModel.addElement(dateien[i]);
		}

		dateienliste = new JList(listModel);
		dateienliste.setBackground(new Color(240, 255, 240));
		scrollPaneOben.setViewportView(dateienliste);
	}

über den folgenden Code-Schnipsel rufe ich meine genannte Methode auf und übergebe JList dateienliste

Java:
MeineMethoden indexAuswahl = new MeineMethoden();
				indexAuswahl.AuswahlVonListe(dateienliste);

Das ist die Methode, die ihr schon kennt:

Java:
public void AuswahlVonListe(JList list)
	{
		int[] selectedIx = list.getSelectedIndices();

		// Get all the selected items using the indices
		for (int i = 0; i < selectedIx.length; i++)
		{
			Object sel = list.getModel().getElementAt(selectedIx[i]);
			System.out.println(sel);
		}
	}

Das nur so als Info. Jetzt werde ich mir nochmal eure Antworten anschauen und versuchen zu analysieren. Solltet ihr aber noch irgendetwas für mich haben, dann immer her damit. Ich bin über alle Tipps dankbar.
 

javaKueken

Mitglied

javaKueken

Mitglied
File f = (File) sel;

Ok. Wenn ihr mich jetzt sehen könntet... Ich steh total auf der Leitung ... ich würd´ aj gerne einen Code als Lösung für diesen Tread posten, aber ich befürchte, dass ich mit der Info File f = (File) sel; nichts anfangen kann. Ich weiss nicht wo , an welcher Stelle ich es einfügen soll usw. Ich glaube ich ein Problem die indices, for-Schleifen und Files unter einen Hut zu bekommen.
Verdammt... und ich dachte, dass ich das heute noch irgendwie hinkriege. Ich seh´ schon.... ich werde den ganzen Tag damit verbringen auf die Lösung zu kommen.
 
S

SlaterB

Gast
es gibt in deinem geposteten Code nur eine Stelle wo 'sel' überhaupt vorhanden ist,
an der gibst du dieses File aus, ich zeige dir wie du ein File-Objekt bekommst,
danach musst du an dieser Stelle z.B. das renameTo() ausführen,

das sind leichte Aktionen, zumindest der Überblick, wirklich in Ruhe drüber nachdenken
 

Michael...

Top Contributor
Ok. Wenn ihr mich jetzt sehen könntet... Ich steh total auf der Leitung ... ich würd´ aj gerne einen Code als Lösung für diesen Tread posten, aber ich befürchte, dass ich mit der Info File f = (File) sel; nichts anfangen kann. Ich weiss nicht wo , an welcher Stelle ich es einfügen soll usw. Ich glaube ich ein Problem die indices, for-Schleifen und Files unter einen Hut zu bekommen.
Verdammt... und ich dachte, dass ich das heute noch irgendwie hinkriege. Ich seh´ schon.... ich werde den ganzen Tag damit verbringen auf die Lösung zu kommen.
Eventuell fällt Dir ja eine Gemeinsamkeit zu folgendem auf:
Bei ersteren kannst Du einfach casten:
Java:
File file = (File)list.getModel().getElementAt(selectedIx[i]);
 

javaKueken

Mitglied
Woah!
Ich denke... ich bin da auf ´nem guten Weg.
Java:
public void testVerschieben(JList list, String zielPfad)
	{
		int[] selectedIx = list.getSelectedIndices();

		for (int i = 0; i < selectedIx.length; i++)
		{
			File file = (File)list.getModel().getElementAt(selectedIx[i]);
			System.out.println(file);
			
			File neu = new File(zielPfad);
			file.renameTo(new File(neu, file.getName()));

		}
Jetzt werde ich das etwas bearbeiten und auf meine Bedürfnisse anpassen. Ich hoffe, dass ich euch weiterhin belästigen kann.
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
J Markierte Items in einer JLIST in einen Ordner verschieben Java Basics - Anfänger-Themen 2
G Markierte Buchstaben sollen formatiert werden Java Basics - Anfänger-Themen 5
N ResultSet auf Einträge überprüfen Java Basics - Anfänger-Themen 5
R While-Loop der die Einträge eines Arrays in umgekehrter Reihenfolge anzeigt Java Basics - Anfänger-Themen 3
C Erste Schritte JComboBox Einträge auf Duplikat prüfen Java Basics - Anfänger-Themen 4
A Einträge aus Tupeln nach Regeln in Liste speichern Java Basics - Anfänger-Themen 8
S CSV auf doppelte Einträge überprüfen Java Basics - Anfänger-Themen 8
K Datentypen Einträge zweier Matrizen vergleichen Java Basics - Anfänger-Themen 4
I Einträge in den Konstruktor Java Basics - Anfänger-Themen 3
S Problem: Array alle Einträge gleich Java Basics - Anfänger-Themen 10
M Erste Schritte JList einträge Java Basics - Anfänger-Themen 1
P Erste Schritte Einträge aus verschachtelter Map chronoligisch ausgeben Java Basics - Anfänger-Themen 5
C JList Einträge nach Datum sortieren Java Basics - Anfänger-Themen 3
T Einträge in jComboBox aus Liste übernehmen Java Basics - Anfänger-Themen 1
S Wie bestehende Excel-Einträge mit neuen Vergleichen (mit Apache POI)? Java Basics - Anfänger-Themen 0
E Array doppelte Einträge Java Basics - Anfänger-Themen 2
S Variablen Array in ArrayList auf doppelte Einträge überprüfen Java Basics - Anfänger-Themen 4
T Alte Einträge im Array werden von neuen überschrieben Java Basics - Anfänger-Themen 5
P Doppelte Einträge in eine List Java Basics - Anfänger-Themen 5
D Javaliste auf gleiche Einträge überprüfen Java Basics - Anfänger-Themen 2
C Doppelte Einträge aus String [] Array entfernen. Java Basics - Anfänger-Themen 5
C Datentypen Array-Einträge überhalb der Array-Länge - welcher Wert? Java Basics - Anfänger-Themen 5
L Erste Schritte Einträge in ArrayList prüfen Java Basics - Anfänger-Themen 4
M Ziffer einträge vergrößern Java Basics - Anfänger-Themen 16
H Einträge aus Array löschen Java Basics - Anfänger-Themen 8
K ArrayList.add() überschreibt vorhandene Einträge. Java Basics - Anfänger-Themen 12
M Gewisse Einträge aus einer ArrayList löschen Java Basics - Anfänger-Themen 3
M doppelte Einträge Emailempfänger... Java Basics - Anfänger-Themen 35
K ArrayList Zugreifen auf Einträge Java Basics - Anfänger-Themen 8
G txt-File als DB>doppelte Einträge verhindern/Suche/... Java Basics - Anfänger-Themen 10
B 2D-Array, gleiche Einträge prüfen Java Basics - Anfänger-Themen 5
F Hiberate-Log-Einträge Java Basics - Anfänger-Themen 2
J Datentypen List - gleiche Einträge bei neuen Objekten Java Basics - Anfänger-Themen 31
Beckenbauer OOP Durch Komma getrennte Einträge in einem String in ein Array oder eine Tabelle schreiben Java Basics - Anfänger-Themen 4
kitz Mehrere Einträge auswerfen? Java Basics - Anfänger-Themen 20
P Doppelte Einträge in mehreren Textfiles finden und ausgeben Java Basics - Anfänger-Themen 8
E Darstellung der Choice Einträge Java Basics - Anfänger-Themen 4
K Datentypen Liste: Einzelne Einträge ändern Java Basics - Anfänger-Themen 2
L Tray-Einträge und dazu passende ActionListener dynamisch erzeugen? Java Basics - Anfänger-Themen 2
J doppelte Einträge in einem Array Java Basics - Anfänger-Themen 7
M Einträge in Dateien zählen - Performance-Problem Java Basics - Anfänger-Themen 10
M Einträge in JComboBox farblich hinterlegen? Java Basics - Anfänger-Themen 2
-horn- Doppelte Einträge entfernen, aus Array, List oder sonstwas Java Basics - Anfänger-Themen 9
G _NUR_ doppelte Einträge in einem Array behalten Java Basics - Anfänger-Themen 3
B Einträge im JList einfügen Java Basics - Anfänger-Themen 9
G doppelte Einträge im String Array löschen Java Basics - Anfänger-Themen 21
V Vector/Arraylist hat nur gleiche Einträge Java Basics - Anfänger-Themen 3
0 ArrayList - doppelte Einträge entfernen? Java Basics - Anfänger-Themen 9
S Methode, um doppelte Einträge in Array zu finden Java Basics - Anfänger-Themen 5
G Wie doppelte Einträge in ComboBox vermeiden ? Java Basics - Anfänger-Themen 9
M Doppelte Einträge in einer datei löschen(nach timestamp)! Java Basics - Anfänger-Themen 4
D Doppelte Einträge einer Liste löschen Java Basics - Anfänger-Themen 6
ARadauer Alle Einträge im Startverzeichnis Java Basics - Anfänger-Themen 5
B 2 ELists vergleichen und doppelte Einträge löschen Java Basics - Anfänger-Themen 11
M einträge farblich hervorheben ? Java Basics - Anfänger-Themen 8
M Vector soll keine doppelten Einträge enthalten! Java Basics - Anfänger-Themen 5
M Einträge einer .txt-Datei in einem TextField ausgeben lassen Java Basics - Anfänger-Themen 8
J Wie kann man im Systempopup einträge machen z.B im Explorer? Java Basics - Anfänger-Themen 6
K mehrere DB Einträge in einem JTable darstellen ?HILFE! Java Basics - Anfänger-Themen 2
G Array-Listen vergleichen und Einträge löschen ? Java Basics - Anfänger-Themen 4
S JList Einträge löschen Java Basics - Anfänger-Themen 3
H .java Dateien in Eclipse einbinden und ausführen Java Basics - Anfänger-Themen 1
I Dateien aus dem Resource Folder laden Java Basics - Anfänger-Themen 2
A Thread XML-Dateien zusammenfügen Java Basics - Anfänger-Themen 11
Buroto Threads Verschiedene .txt Dateien Auf Listen und Verbinden Java Basics - Anfänger-Themen 3
J Dateien lesen und schreiben Java Basics - Anfänger-Themen 5
B Jar Dateien ohne IDE verwenden? Java Basics - Anfänger-Themen 1
A Optimierung eines Programms: Mergen der Dateien Java Basics - Anfänger-Themen 23
A Zwei XML-Dateien Mergen Java Basics - Anfänger-Themen 14
A Input/Output Mehrere Csv-Dateien einlesen Java Basics - Anfänger-Themen 2
LetsSebi Dateien werden nicht in Zip gespeichert Java Basics - Anfänger-Themen 1
J Alle .java Dateien von einem Verzeichnis in eine Zip speichern Java Basics - Anfänger-Themen 2
J Alle Dateien aus einem Verzeichnis laden Java Basics - Anfänger-Themen 10
MiMa log4j als separate Dateien in Schleife? Java Basics - Anfänger-Themen 6
M Scannen von *.txt - Dateien; wo sind der oder die Fehler? Java Basics - Anfänger-Themen 4
A Input/Output Dateien einlesen und ausgeben Java Basics - Anfänger-Themen 7
S Lese- / Schreibfähigkeit von Dateien sicherstellen Java Basics - Anfänger-Themen 1
C "HelloWorld" - Dateien erstellt, aber ist es eine class-Datei? Java Basics - Anfänger-Themen 2
J Java findet plötzlich die Dateien im Projekt nicht mehr. Java Basics - Anfänger-Themen 12
J Dateien in Verzeichnissen rekursiv auflisten wirft Exception Java Basics - Anfänger-Themen 4
L Classpath Alle Dateien im Classpath finden Java Basics - Anfänger-Themen 4
MiMa Formate für Dateien und Pfade? Java Basics - Anfänger-Themen 1
O Datei in mehrere kleine Dateien umwandeln Java Basics - Anfänger-Themen 47
L Richtige Reihenfolge der Dateien Java Basics - Anfänger-Themen 5
CptK Datentypen Text Dateien einlesen Java Basics - Anfänger-Themen 3
J Logging erzeugt zwei dateien.... Java Basics - Anfänger-Themen 7
A Dateien Verschieben Java Basics - Anfänger-Themen 1
M Mehre Dateien parallel kopieren mit Multithreading Java Basics - Anfänger-Themen 8
C Methoden Dateien im Ordner anzeigen Java Basics - Anfänger-Themen 12
J Java-Dateien lassen sich nicht editieren Java Basics - Anfänger-Themen 46
E FTP Dateien hochladen Java Basics - Anfänger-Themen 3
J Probleme beim schreiben von Dateien Java Basics - Anfänger-Themen 5
Korvinus Vergleichen von 2 csv-Dateien Java Basics - Anfänger-Themen 2
I Texte mit Absätzen in Dateien speichern und auslesen Java Basics - Anfänger-Themen 1
M "substring()" mit Dateien und Pfadangaben Java Basics - Anfänger-Themen 5
Voreck Jar Dateien Standart programm ändern Java Basics - Anfänger-Themen 12
K Dateien aus Source-Package verwenden Java Basics - Anfänger-Themen 10
B Dateien aus dem "resource" - Folder kopieren in Verzeichnis Java Basics - Anfänger-Themen 9
B Kopieren von Dateien mit Adminberechtigungen Java Basics - Anfänger-Themen 14
F Threads ftp4j, viele Dateien upload Java Basics - Anfänger-Themen 5

Ähnliche Java Themen

Neue Themen


Oben