JFilechooser, mehrere Datein selektieren und Reihenfolge (2)

Michael...

Top Contributor
Denke nicht, dass der JFileChooser sich die Reihenfolge der Selektion merkt bzw. überhaupt merken kann.
Da muss man sich wohl selbst etwas überlegen. z.B. wählt man mit dem JFileChooser nur das Verzeichnis aus, der Inhalt wird dann in einer JList angezeigt und man merkt sich selbst in welcher Reihenfolge der Anwender selektiert hat.
Oder man baut nach dem JFileChooser einen Zwischenschritt ein, in dem der Anwender die Reihenfolge der selektierten Dateien festlegen muss.
 

turtle

Top Contributor
funktioniert nun mal nicht so wie es soll

Das ist nicht hilfreich. Stürzt das Programm ab, gibt eine Fehlermeldung aus, verhält sich anders als erwartet, oder, oder...

Aus der Beschreibung vermute ich, dass Du die selektierten Files in der Reihenfolge der Selection haben möchtest; also ich selektiere Datei bernd.txt als erste Datei, danach claus.txt als Zweite und danach alice.txt als Dritte und will die Liste in dieser Reihenfolge bekommen, kann mir aber echt keinen Zweck vorstellen, warum man so etwas haben möchte?
 

GUI-Programmer

Top Contributor
Der Zweck ist folgender:
Ich habe ein kleines Programm geschrieben, mit welchen man eine Playlist für Virtual DJ erstellen kann. Der Benutzer wählt die Datein (.mp3 oder .wav) per JFileChooser aus. Da es sich ja um eine Playlist handelt, sollen die Lieder auch in der Reihenfolge abgespielt werden, wie man die Files auswählt, und nicht alphabetisch!!!

Hier mal der gesamte Code (etwas abgewandelt) aus den verwiesenen Link:
Java:
import java.awt.Component;
import java.awt.Container;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.io.File;
import javax.swing.JButton;
import javax.swing.JFileChooser;
import javax.swing.JFrame;
import javax.swing.JList;


public class MultiFileChooser extends JFileChooser {

	private JList list;
	private JButton btnOk;
	
	MultiFileChooser(){
		super();
	}

	MultiFileChooser(String path){
		super(path);
		setApproveButtonText("OK");
		initializeList(this);
		initializeButtons(this);

		btnOk.addActionListener(new ActionListener() {
			@Override
			public void actionPerformed(ActionEvent arg0) {
				File[] files = getSelectedFiles();
				for(int i=0; i<files.length; i++) {
					System.out.println(files[i]);
				}
			}
		});
	}

	private static Object[] previousSelection = null;
	
	public File[] getSelectedFiles() {
		if (previousSelection == null) { // noch nichts vorher ausgewählt
			previousSelection = list.getSelectedValues();
		}
		else {
			Object[] currentSelection = list.getSelectedValues();
			if (previousSelection.length - currentSelection.length == 1)
			{//less selection
				for (int i = 0; i < previousSelection.length; i++) {
					boolean remove = true;
					for (int j = 0; j < currentSelection.length; j++) {
						if ( ( (File)
								currentSelection[j]).getAbsolutePath().equals( ( (
										File) previousSelection[i]).getAbsolutePath())) {
							remove = false;
							break;
						}
					}
					if (remove) {
						previousSelection = remove(previousSelection, i);
					}
				}
			}
			else if (previousSelection.length - currentSelection.length ==
					-1){ //extend selection
				for (int i = 0; i < currentSelection.length; i++) {
					boolean newAdd = true;
					for (int j = 0; j < previousSelection.length; j++) {
						if ( (currentSelection[i] instanceof File)) {
							if ( ( (File)
									currentSelection[i]).getAbsolutePath().equals( ( (
											File) previousSelection[j]).getAbsolutePath())) {
								newAdd = false;
								break;
							}
						}
					}
					if (newAdd) {
						previousSelection = add(previousSelection, currentSelection[i]);
					}
				}
			}
			else { //special cases
				if (previousSelection.length == 1 && currentSelection.length
						== 1) {
					previousSelection = currentSelection;
				}
				else if (previousSelection.length != currentSelection.length)
				{
					previousSelection = currentSelection;
				}
			}
		}
		
		File[] files = new File[previousSelection.length];
		for (int k = 0; k < previousSelection.length; k++) {
			if (previousSelection[k] instanceof File) {
				files[k] = (File) previousSelection[k];
			}
		}
		previousSelection = files;
		if (previousSelection.length == 0) {
			previousSelection = null;
		}
		return files;
	}

	private Object[] add(Object[] array, Object object) {
		Object[] temp = new Object[array.length + 1];
		for (int i = 0; i < array.length; i++) {
			temp[i] = array[i];
		}
		temp[array.length] = object;
		return temp;
	}

	private Object[] remove(Object[] array, int index) {
		Object[] temp = new Object[array.length - 1];
		for (int i = 0; i < index; i++) {
			temp[i] = array[i];
		}
		for (int i = index + 1; i < array.length; i++) {
			temp[i - 1] = array[i];
		}
		return temp;
	}

	private void initializeList(Component component) {
		if (component instanceof JList) {
			JList lst = (JList)component;
			list = lst;
		}
		else if (component instanceof Container) {
			Container container = (Container)component;
			for (int i = 0; i < container.getComponentCount(); i++) {
				Component child = container.getComponent(i);
				initializeList(child);
			}
		}
	}

	private void initializeButtons(Component component) {
		if (component instanceof JButton) {
			JButton button = (JButton)component;
			String text = button.getText();
			if (text != null) {
				if(text.equals("OK")) btnOk = button;
			}
		}
		else if (component instanceof Container) {
			Container container = (Container)component;
			for (int i = 0; i < container.getComponentCount(); i++) {
				Component child = container.getComponent(i);
				initializeButtons(child);
			}
		}
	}

	public static void main(String[] args) {
		MultiFileChooser fileChooser = new MultiFileChooser("c:/test");
		fileChooser.setDialogTitle("select file");
		fileChooser.setMultiSelectionEnabled(true);
		int returnVal = fileChooser.showOpenDialog(new JFrame());
		if (returnVal == JFileChooser.APPROVE_OPTION) {
			File[] files = fileChooser.getSelectedFiles();
			String[] fileNames = new String[files.length];
			for (int i = 0; i < files.length; i++) {
				fileNames[i] = files[i].getPath();
				System.out.println(fileNames[i]);
			}
		}
	}
}
Was nicht funktioniert: Das, was der eigentlich Sinn für den Aufwand ist, nämlich die Reihenfolge zu beachten!!!
Vielleicht habt ihr ja Verbesserungsvorschläge zu diesen Code!?
 

turtle

Top Contributor
Ich bin der Meinung, dass ein JFileChooser nicht das geeignete UI-Element für Deinen Zweck darstellt.

Das Problem, das ich sehe, ist, das der User unter anderem kein Feedback bekommt in welcher Reihenfolge die Playlist letztendlich abgespielt wird und auch keine einfache Möglichkeit existiert, die Reihenfolge zu ändern.

Ich rege an, mal darüber nachzudenken, die Songs stattdessen in einer JList zu präsentieren. Darin könnte man per Drag and Drop die Reihenfolge einfach ändern und der User sieht diese bevor er die Playlist akzeptiert. Der Playlist-Dialog könnte mehrere Sortier-Vorschläge anbieten um zum Beispiel die Playlist doch alphanumerisch zu sortieren, oder nach Datum, oder...

Scheint mir zu sein, dass Du sehr viel Aufwand in die Nutzung des JFileChoosers steckst und dieser Aufwand vielleicht mit einem anderen Control sinnvoller wäre.
 

GUI-Programmer

Top Contributor
OK ich habe es geschafft!!! Langes Ausprobieren zahlt sich wohl doch aus!!! Trozdem nen guter Vorschlag von turtle!
Den Teil des Codes, der dafür verantwortlich ist, werde ich natürlich noch veröffentlichen, demnächst.

Dann noch ne rechtliche Frage:
Wäre es in Ordnung, wenn ich hier das gesamte Programm (nicht den Source, aber die jar!), also meinen "Virtual DJ Playlist Creater" veröffentlich, oder gibts da von Rechtswegen irgendwas, was dagegen spricht?
Schließlich ist mein Programm nun ja wirklich keine große Sache und wahrscheinlich auch noch deutlich verbesserbar. Es wird ja nichts anderes gemacht, als: Eine .m3u Datei erzeugt -in den ersten beiden Zeilen "#VirtualDJ Playlist
#MixType=Smart" geschrieben - danach die absoluten Pfade der ausgewählten Songs eingetragen - und als letztes noch ne Leerzeile eingefügt.
Somit kann Virtual DJ die erstellt Playlist wiedergeben, wenn sie sich im entsprechenden Ordner(...Virtual DJ/Playlists) befindet.
:)
 

GUI-Programmer

Top Contributor
Hier der Code (=Lösung): (Kann direkt ausgeführt werden!)
Java:
import java.awt.Component;
import java.awt.Container;
import java.awt.Dimension;
import java.awt.EventQueue;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.io.File;
import java.util.ArrayList;
import java.util.List;
import javax.swing.JButton;
import javax.swing.JFileChooser;
import javax.swing.JFrame;
import javax.swing.JList;
import javax.swing.JPanel;
import javax.swing.event.ListSelectionEvent;
import javax.swing.event.ListSelectionListener;

/**
 * Klasse JFileChooserTest
 * 
 * @author GUI-Programmer
 * @version 28.09.2011
 */
public class JFileChooserTest extends JPanel {
	// Attribute
	protected JFileChooser filechooser;
	protected JList listFiles;
	protected JButton btnHinzufuegen, btnFertigstellen;
	
	private int valueChanged, index;
	private ArrayList<File> fileList, completeFileList;
	
	// Konstruktor
	public JFileChooserTest() {
		setPreferredSize(new Dimension(800, 450));
		setLayout(null);
		
		filechooser = new JFileChooser();
		filechooser.setApproveButtonText("Hinzufügen");
		filechooser.setFileSelectionMode(JFileChooser.FILES_AND_DIRECTORIES);
		filechooser.setMultiSelectionEnabled(true);
		filechooser.setBounds(10, 10, 778, 422);
		add(filechooser);
		
		MyListener mylistener = new MyListener();
		
		initializeButtons(filechooser);
		btnHinzufuegen.removeActionListener(btnHinzufuegen.getActionListeners()[0]);
		btnHinzufuegen.addActionListener(mylistener);
		
		btnFertigstellen.setText("Erstellen");
		btnFertigstellen.removeActionListener(btnFertigstellen.getActionListeners()[0]);
		btnFertigstellen.addActionListener(mylistener);
		
		initializeList(filechooser);
		listFiles.addListSelectionListener(mylistener);
		
		valueChanged = 0;
		index = -1;
		fileList = new ArrayList<File>();
		completeFileList = new ArrayList<File>();
	}
	
	// Methoden
	/**
	 * Sucht die beiden JButtons aus dem JFileChooser. Wenn sie gefunden
	 * wurden, werden die beiden JButtons btnHinzufuegen und btnFertigstellen
	 * mit ihnen initialisiert.
	 */
	private void initializeButtons(Component component) {
		if (component instanceof JButton) {
			JButton button = (JButton)component;
			String text = button.getText();
			if (text != null) {
				if(text.equals("Hinzufügen")) btnHinzufuegen = button;
				if(text.equals("Abbrechen")) btnFertigstellen = button;
			}
		}
		else if (component instanceof Container) {
			Container container = (Container)component;
			for (int i = 0; i < container.getComponentCount(); i++) {
				Component child = container.getComponent(i);
				initializeButtons(child);
			}
		}
	}
		
	/**
	 * Sucht die JList aus dem JFileChooser. Wenn sie gefunden wurde, wird
	 * die JList listFiles mit ihr initialisiert.
	 */
	private void initializeList(Component component) {
		if (component instanceof JList) {
			JList list = (JList)component;
			listFiles = list;
		}
		else if (component instanceof Container) {
			Container container = (Container)component;
			for (int i = 0; i < container.getComponentCount(); i++) {
				Component child = container.getComponent(i);
				initializeList(child);
			}
		}
	}	
	
	private class MyListener implements ActionListener, ListSelectionListener {
		@Override
		public void actionPerformed(ActionEvent evt) {
			Object src = evt.getSource();
			if(src.equals(btnHinzufuegen)) {
				List selectedValues = listFiles.getSelectedValuesList();
				// Wenn Strg + A gedrückt wurde, und somit alle ausgewählt wurden
				if(selectedValues.size()>fileList.size()) {
					for(int i=0; i<selectedValues.size(); i++) {
						// evtl. noch: die Directorys auslassen --> if file.isDirectory()
						completeFileList.add(new File(selectedValues.get(i).toString()));
					}
				/* 
				 * Andernfalls wird eine neue Liste erstellt, bei der dann die doppelt
				 * -vorkommenden Files und die die wieder abgewählt wurden entfernt werden
				 * (per retainAll(...).
				 * Als letztes wird noch die Liste, welche alle Files beinhaltet mit den
				 * den Files der erstellten Liste weiter aufgefüllt
				 */
				} else {
					ArrayList<File> fileListSorted = new ArrayList<File>(fileList);
					fileListSorted.retainAll(selectedValues);
					fileList = new ArrayList<File>();
					for(int i=0; i<fileListSorted.size(); i++) {
						completeFileList.add(fileListSorted.get(i));
					}
				}
			}
			
			if(src.equals(btnFertigstellen)) {
				for(int i=0; i<completeFileList.size(); i++) {
					System.out.println(completeFileList.get(i));
				}
			}
		}
		
		@Override
		public void valueChanged(ListSelectionEvent evt) {
			Object src = evt.getSource();
			if(src.equals(listFiles)) {
				// Durch das Benutzen der Variable valueChanged wird verhindert,
				// das der darauffolgende Code doppelt aufgerufen wird.
				valueChanged++;
				if(valueChanged == 1) {
					// Der Index des ausgewählten Files (also der das Event "wirft")
					// wird ermittelt
					if(evt.getFirstIndex() == index) {
						index = evt.getLastIndex();
					} else if(evt.getLastIndex() == index) {
						index = evt.getFirstIndex();
					} else index = evt.getLastIndex();
					
					int position = getPosition();
					// Es wird ausgeschlossen, dass lediglich ein Verzeichnis geöffnet,
					// anstatt ausgewählt wurde
					if(position != -1) {
						List selectedValues = listFiles.getSelectedValuesList();
						File file = new File(selectedValues.get(position).toString());
						if(!file.isDirectory()) {
							fileList.add(file);
						}
					}
				} else valueChanged = 0;
			}
		}
		
		/**
		 * Die Position des ausgewählten Files in der Liste der ausgewählten Files wird
		 * ermittelt und zurückgegeben.
		 */
		private int getPosition() {
			int position = -1;
			int[] selectedIndices = listFiles.getSelectedIndices();
			for(int i=0; i<selectedIndices.length; i++) {
				if(index == selectedIndices[i]) {
					position = i;
					break;
				}
			}
			return position;
		}
	}
	
	/**
	 * Es wird ein JFrame erstellt der die GUI präsntiert, somit das
	 * Programm startet
	 */
	public static void createFrame() {
		JFrame f = new JFrame("JFileChooserTest");
		f.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
		f.setResizable(false);
		f.setContentPane(new JFileChooserTest());
		f.pack();
		f.setVisible(true);
		f.setLocationRelativeTo(null);
	}
	
	
	//Main-Methode
	public static void main(String[] args) {
		EventQueue.invokeLater(new Runnable() {
			public void run() {
				createFrame();
			}
		});
	}
}

Und nicht vergessen die Frage mit der Rechtslage zu beantworten!!!
 

turtle

Top Contributor
Sieht ganz ordentlich aus :applaus:

Obwohl Du meinem Ansatz nicht gefolgt bist:(, schlage ich vor, doch mal in die Sourcen von BasicDND reinzuschauen, weil da genau der Drag and Drop in einer JList implementiert ist. Sollte ein Leichtes sein, daraus eine Reorder-JList zu basteln.

Ich sehe übrigens keinen Grund der gegen die Veröffentlichung des Codes spricht! Allerdings lese ich gerne Java-Code und lade nur JARs, wenn's nichts Anderes gibt und ich die SW wirklich benötige. Und wenn Du Source mitgeben möchtest, empfehle ich den Code von Warnungen vorher zu befreien.
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
K JFileChooser mehrere Dateien markieren ohne STRG AWT, Swing, JavaFX & SWT 4
A JFileChooser - Mehrere Dateien per Maus markieren (nokeys) AWT, Swing, JavaFX & SWT 7
Tommy135 JFileChooser ist sehr langsam AWT, Swing, JavaFX & SWT 13
T JFileChooser ist Englisch und bleibt Englisch und bleibt Englisch... AWT, Swing, JavaFX & SWT 15
M Swing jFileChooser Header viewTypeDetails setFont AWT, Swing, JavaFX & SWT 0
I JFileChooser mit System L&F bei anderem L&F der eigtl. Anwendung AWT, Swing, JavaFX & SWT 0
Meeresgott AWT JFileChooser bestimmte Ordner anzeigen AWT, Swing, JavaFX & SWT 16
S Swing JFileChooser best. Ordner wie Dateien behandeln AWT, Swing, JavaFX & SWT 4
H Swing JFileChooser für nicht existierendes Unterverzeichnis AWT, Swing, JavaFX & SWT 3
javampir Swing Anzeige der FileFilter im JFileChooser AWT, Swing, JavaFX & SWT 0
L JFileChooser Datentyp Unterscheidung AWT, Swing, JavaFX & SWT 6
K JFileChooser NullPointerException AWT, Swing, JavaFX & SWT 7
H JFileChooser Dateinamen vorgeben (Save Dialog) AWT, Swing, JavaFX & SWT 9
Neumi5694 Swing JFilechooser - Detailansicht AWT, Swing, JavaFX & SWT 0
M JFileChooser Look and Feel AWT, Swing, JavaFX & SWT 2
T JFileChooser Rahmenfarbe ändern AWT, Swing, JavaFX & SWT 1
K Pfad mit JFileChooser ausgeben lassen AWT, Swing, JavaFX & SWT 7
C JFileChooser hängt bei Ausführung mit Terminal AWT, Swing, JavaFX & SWT 2
T Swing JFileChooser und FileView AWT, Swing, JavaFX & SWT 4
M Einzelne Ordner im JFileChooser ausgrauen? AWT, Swing, JavaFX & SWT 4
H Swing JFileChooser inline editing AWT, Swing, JavaFX & SWT 4
D JFileChooser anpassen AWT, Swing, JavaFX & SWT 5
AssELAss Verzeichnis JFileChooser aktualisieren AWT, Swing, JavaFX & SWT 0
A JFileChooser Datei speichern AWT, Swing, JavaFX & SWT 4
A Datei weiterverwenden mit JFileChooser AWT, Swing, JavaFX & SWT 6
T Importer-Auswahl im JFileChooser AWT, Swing, JavaFX & SWT 3
N JFileChooser bzw. FileDialog Problem AWT, Swing, JavaFX & SWT 10
A Swing JFileChooser - Größenänderung nach Aufruf von showOpenDialog() AWT, Swing, JavaFX & SWT 15
D Serverdirectory auf Client browsen mit JFileChooser AWT, Swing, JavaFX & SWT 7
F icon aus exe auslesen mithilfe des JFilechooser ? AWT, Swing, JavaFX & SWT 4
C JFileChooser und Netzwerk Laufwerke AWT, Swing, JavaFX & SWT 4
Iron Monkey JFileChooser - Drag and Drop AWT, Swing, JavaFX & SWT 5
J JFileChooser - Datei speichern AWT, Swing, JavaFX & SWT 7
M Element aus JList eines JFileChooser entfernen AWT, Swing, JavaFX & SWT 3
P JFileChooser mit verschidene Endungen AWT, Swing, JavaFX & SWT 12
S Swing Ordner im JFileChooser auswählen AWT, Swing, JavaFX & SWT 2
C JFileChooser bringt parent durcheinander AWT, Swing, JavaFX & SWT 2
N JFileChooser mit Dateinamenvorgabe AWT, Swing, JavaFX & SWT 9
S JFileChooser GTK (Ubuntu) "hässlich" AWT, Swing, JavaFX & SWT 2
A Swing JFileChooser mit modifiziertem Kontextmenü AWT, Swing, JavaFX & SWT 4
S JFileChooser öffnet den falschen Ordner AWT, Swing, JavaFX & SWT 4
A Swing JFilechooser zeigt verzeichnisse nicht an AWT, Swing, JavaFX & SWT 2
A Swing JFileChooser - Anzeige in Echtzeit filtern AWT, Swing, JavaFX & SWT 10
M JFileChooser umbenennen verbieten AWT, Swing, JavaFX & SWT 4
Helgon JFileChooser öffnet sich 2x AWT, Swing, JavaFX & SWT 12
K JFileChooser mit Zusatzfunktionen AWT, Swing, JavaFX & SWT 8
V JFileChooser auf Mac und Netzwerkordner AWT, Swing, JavaFX & SWT 2
B JFileChooser breite der Spalten? AWT, Swing, JavaFX & SWT 5
M JFileChooser setCurrentDirectory() - Verzeichnis relativ zum Code/binary AWT, Swing, JavaFX & SWT 14
P Swing Dateinamen im JFileChooser vorschlagen AWT, Swing, JavaFX & SWT 11
M JFileChooser Abfangen des DateiTypen möglich?? AWT, Swing, JavaFX & SWT 5
T Swing JFileChooser --> Desktop und Laufwerke im "Suchen in" - Drop Down AWT, Swing, JavaFX & SWT 3
N JFileChooser - Keine Funtkion AWT, Swing, JavaFX & SWT 13
T JFileChooser - "Öffnen-Button" aktivieren/deaktivieren möglich??? AWT, Swing, JavaFX & SWT 2
jueki Aktuell eingestellten Filter aus einem JFileChooser abfragen. AWT, Swing, JavaFX & SWT 5
F Swing JFileChooser - Dateinamen nicht editierbar machen AWT, Swing, JavaFX & SWT 8
I Fehler bei JFileChooser AWT, Swing, JavaFX & SWT 2
Ivan Dolvich [Linux] JFileChooser sieht komisch aus... AWT, Swing, JavaFX & SWT 12
M Zurück-Button in JFileChooser AWT, Swing, JavaFX & SWT 9
N JFileChooser AWT, Swing, JavaFX & SWT 4
D Problem mit JFileChooser -> Daten werden mit anführungsstriche in JTable geschrieben AWT, Swing, JavaFX & SWT 8
S JFileChooser Dateiname Autovervollständigung AWT, Swing, JavaFX & SWT 2
B JDialog über JFileChooser anzeigen AWT, Swing, JavaFX & SWT 6
I Swing JFileChooser '\' im Pfad... AWT, Swing, JavaFX & SWT 2
K Swing JFileChooser zum Speichern - FileFilter AWT, Swing, JavaFX & SWT 2
M Swing Execption beim JFileChooser AWT, Swing, JavaFX & SWT 4
kodela Swing JFileChooser und die Datei-Extension AWT, Swing, JavaFX & SWT 3
jueki eigenen Button in JFileChooser einfügen AWT, Swing, JavaFX & SWT 7
alderwaran jFileChooser showSaveDialog, dateinamen werden mit pfadnamen überschrieben beim navigieren AWT, Swing, JavaFX & SWT 1
B Swing Suche JFileChooser zum Speichern AWT, Swing, JavaFX & SWT 2
Iron Monkey JFileChooser DIRECTORIES_ONLY AWT, Swing, JavaFX & SWT 4
Semox Swing JFileChooser: Problem Approve oder Cancel abzufangen AWT, Swing, JavaFX & SWT 7
H JTree - nach Auswahl aus JFileChooser wird nur der erste Knoten angezeigt AWT, Swing, JavaFX & SWT 3
kodela Sicherheitsabfrage mit JFileChooser AWT, Swing, JavaFX & SWT 2
DARK_ZERATO2 jFileChooser AWT, Swing, JavaFX & SWT 4
G JFileChooser Problem AWT, Swing, JavaFX & SWT 4
G Swing JFileChooser Event für neue Directory? AWT, Swing, JavaFX & SWT 5
P JFileChooser AWT, Swing, JavaFX & SWT 2
M Swing JFileChooser und JFrame AWT, Swing, JavaFX & SWT 5
G Swing JFileChooser in einem JPanel? AWT, Swing, JavaFX & SWT 3
J JFileChooser Dateiauswahl beim Tippen einschränken AWT, Swing, JavaFX & SWT 3
M Swing JFileChooser mit Windows 7 AWT, Swing, JavaFX & SWT 8
R JFileChooser - Initiales Verzeichnis auswählen AWT, Swing, JavaFX & SWT 8
brainray JFileChooser - es sollen nur Ordner wählbar sein AWT, Swing, JavaFX & SWT 2
T JFileChooser Problem AWT, Swing, JavaFX & SWT 3
N Mit JFileChooser ein Verzeichnis auswählen AWT, Swing, JavaFX & SWT 7
M Swing JFileChooser und versteckte Ordner AWT, Swing, JavaFX & SWT 2
F jFileChooser verwenden AWT, Swing, JavaFX & SWT 4
M Swing ImageIcon über JFileChooser einbinden AWT, Swing, JavaFX & SWT 4
F JFileChooser mal wieder AWT, Swing, JavaFX & SWT 2
ARadauer Swing JFileChooser mit Bildvorschau AWT, Swing, JavaFX & SWT 5
H Swing Dateiauswahldialog mit JFileChooser funktioniert unzuverlässig AWT, Swing, JavaFX & SWT 11
G Swing JFileChooser nur in Verzeichnis+Unterverzeichnisse AWT, Swing, JavaFX & SWT 5
K Swing JFileChooser AWT, Swing, JavaFX & SWT 6
M JFileChooser einschränken AWT, Swing, JavaFX & SWT 3
L JFileChooser braucht lang zum öffnen AWT, Swing, JavaFX & SWT 2
S NullPointerException bei JFileChooser AWT, Swing, JavaFX & SWT 8
M JFilechooser defaultdirectory AWT, Swing, JavaFX & SWT 5
C JFilechooser this.setAlwaysOnTop AWT, Swing, JavaFX & SWT 2
G JFileChooser - erkennen v. existierenden Dateien ohne Endung AWT, Swing, JavaFX & SWT 1

Ähnliche Java Themen

Neue Themen


Oben