eine CSV-Datei aus vielen laden

cHucKy51

Mitglied
Hallo!

Ich habe eine Tabelle inklusive TableModel und Renderer erstellt. Bisher habe ich immer nur eine CSV-Datei als "Datenbank" für meine JTable benutzt.

Nun möchte ich in einem extra Konfigurationsfenster festlegen, von welcher CSV-Datei ich die Daten bekomme. Standardmäßig (beim Laden der Tabelle) soll bereits eine Datei eingelesen werden. Die Standarddatei soll per Auswahl der Datei aus einer JList und Drücken des Button "als Standard festlegen" erfolgen.

Kann mir jemand sagen, wie ich das angehen/realisieren soll?

Grüße
 
einen openDialog bekomme ich mit dem JFileChooser ganz leicht hin, aber wie schaffe ich es, die Dateien in einer JList anzuzeigen. Es sollen nur die Dateien aus dem Verzeichnis, in dem dann meine Jar-Datei liegt, angezeigt werden. Eine CSV-Datei soll per Button-Klick als Standard festgelegt werden.
Vielleicht kann mir jemand mal ein Beispiel geben.
 
Hallo,

eine Möglichkeit wäre diese
Code:
File file = new File("");
File path = new File(file.getAbsolutePath());
File[] childs = path.listFiles();
for(File f : childs){
if(f.getName().endsWith(".cvs")){
   //mach was du willst :-)
}


MFG

zEriX
 
Wieso bekomme ich hier immer Fehler?

Java:
import java.io.File;

import javax.swing.DefaultListModel;

public class MyListModel extends DefaultListModel
{
	private static final long serialVersionUID = 1L;

	// Create a list that allows adds and removes
	DefaultListModel model = new DefaultListModel();
	
	File[] children;
	
	// Dateien im gleichen Verzeichnis werden aufgelistet
	File file = new File("");
	File path = new File(file.getAbsolutePath());{
	
	if (file.getName().endsWith(".cvs"))
	{
		children = path.listFiles();
	}
	
	try 
	{
		// Alle Dateielemente zur Liste hinzufügen
		for (int i = 0; i < children.length; i++)
		{
		    model.add(i, children[i]);
		}
	} 
	
	catch (RuntimeException e) 
	{
		System.out.println("Geht nicht!");
	}
}}
 
Hallo,

du solltest vielleicht die Anweisungen in einer Methode reinschreiben und nicht einfach so in deiner Klasse stehen lassen.

MFG

zEriX
 
Ok, jetzt kommen keine Fehler mehr, aber die Dateien werden trotzdem nicht in meine Liste aufgenommen.

Das Model benutze ich für die JList folgendermaßen:
Java:
MyListModel listModel = new MyListModel();

	private JList getJListDateien() {
		if (jListDateien == null) {
			jListDateien = new JList();
			jListDateien.setBounds(new Rectangle(20, 47, 150, 364));
			jListDateien.setModel(listModel);
		}

Leider werden die Dateien noch nicht in die Liste eingelesen. Muss ich die Liste erst noch updaten, oder was könnte sonst noch falsch sein?
 
Logo

Java:
import java.io.File;

import javax.swing.DefaultListModel;

public class MyListModel extends DefaultListModel
{
	private static final long serialVersionUID = 1L;

	@SuppressWarnings("null")
	public void DateienLesen()
	{
		// Create a list that allows adds and removes
		DefaultListModel model = new DefaultListModel();
		
		File[] children = null;
		
		// Dateien im gleichen Verzeichnis werden aufgelistet
		File file = new File("");
		File path = new File(file.getAbsolutePath());
		{	
			if (file.getName().endsWith(".cvs"))
			{
				children = path.listFiles();
			}

			// Alle Dateielemente zur Liste hinzufügen
			for (int i = 0; i < children.length; i++)
			{
			    model.add(i, children[i]);
			}
		}
	}
}
 
Also es liegt an deinem Model. Ich schreibe dir gerade mal ein Beispiel-Model und poste das dir dann.
 

Neue Beiträge

Zurück