carookee - group communication for you
Home / JavaForum / Beginner
Infos   |   Features   |   Gold-Edition   |   Kundenservice   
java
  Übersicht
  Forum
Beginner
Java allgemein
JDBC
JNI
Networking
Online-Ressourcen
Swing + AWT
XML
Meckerecke
  Mitglieder
LOGIN





· Passwort vergessen
· Kostenlos anmelden
  Information
  Demo
  Features
  Im Vergleich
  Anmeldung
SUCHE
Beiträge, Foren oder Verfasser finden:
  Kundenservice
  Impressum
  Datenschutz
  AGB
Status
5.250 User online
0 User eingeloggt
 

Beiträge
   Antworten     Neuer Beitrag    

Beitrag 2959 von 2963 (100%) |<   <   >   >|

Autor Thomas Tasior
Datum 21.10.01, 12:40
Betreff Beispielklasse


Hallo Vladimir,

ich habe mal eine kleine Bespielklasse geschrieben die
deine Fragen der letzten Zeit alle beantworten dürfte (so hoffe ich).

Damit das Ganze funktioniert musst du nur die Tabelle in der
die Informationen angezeigt werden sollen instanzieren.
Setze bitte kein eigenes Datenmodell und keine Spaltenüberschriften!
Grösse und Position kannst du natürlich schon setzen.
anschliessend instanzierst du meine Klasse und übergibst ihr eine Referenz auf deine Tabelle.
Weiterhin musst du dann eine Methode dieser Klasse aufrufen der du als Argument ein File Objekt mit dem zu untersuchenden Ordner übergibst.

das könnte zum Beispiel in einem ActionListener geschehen.


HINWEIS: Dieses Posting findest du auch in Maik's neuem Forum.

Beispiel:

public class FileExplorer
{
    private JTable table;
    private DefaultTableModel model;
    private SimpleDateFormat dateFormat = new SimpleDateFormat();
    private Vector dataVector;
    
    public FileExplorer(JTable aTable)
    {
        //Referenz auf die zu beschreibende Tabelle
        table = aTable;
        //Das Standarddatenmodel holen
        model = (DefaultTableModel)table.getModel();
        //dataVector ist ein Vector von Vectoren.
        //in ihm werden alle Werte gehalten
        dataVector = model.getDataVector();
        
        //Spaltennamen festlegen
        Vector colIds = new Vector();
        colIds.add("Nummer");
        colIds.add("Name");
        colIds.add("Datum");
        colIds.add("Grösse in Bytes");
        //Spaltennamen setzen
        model.setColumnIdentifiers(colIds);
    }
    
    /**
    * Liest alle Dateien des gegebenen Pfades aPath
    * und schreibt das Ergebnis in die Tabelle.
    * Ist aPath eine Datei, kehrt die Methode sofort zurück.
    */

    public void explore(File aPath)
    {
        if (aPath.isDirectory())
        {
            File [] files = aPath.listFiles();//Alle Dateien holen
            dataVector.removeAllElements();//Alte Daten aus der Tabelle entfernen
            int length = files.length;
            for (int i = 0; i < length; i++)
            {
                File file = files[i];//Array durchlaufen
                if (file.isFile())//Wenn es eine Datei ist, dann Informationen holen
                {
                    //Datum formatieren lassen
                    String date = dateFormat.format(new Date(file.lastModified()));
                    //Objektarray erzeugen - es entspricht einer Zeile in der Tabelle
                    //Objekte in der Reihenfolge der Spaltennamen übergeben
                    Object[] o = new Object[] {new Integer(i), file.getName(), date, new Long(file.length())};
                    //Dem Datenmodell diese Zeile anfügen
                    model.addRow(o);
                }
            }
        }
    }
}



Diskussionsverlauf:
[Re] es funktioniert, aber nicht richtig
    Re: [Re] es funktioniert, aber nicht richtig, nachtrag
    Beispielklasse

 Auf diesen Beitrag antworten
 Neuen Beitrag verfassen


|<   <   >   >|

                                                                                                                                                                                                                           

Impressum  · Datenschutz  · AGB  · Infos  · Presse
Ein modernes Forum: teamturn.com