Daten in jTable einlesen?

yasukatakaya

Mitglied
Hallo,
kann mir jemand sagen, wie ich Daten aus einer Datei, die gleich folgt auslesen kann, und zwar wollte ich die 10-stelligen Nummer auslesen, dass klappt auch alles ganz gut, nur die Nummern werden nicht alle in der jTable dargestellt, sondern nur die erste die in der Datei gefunden wird.

Hier ist die Datei:
HTML:
|9554814723|10.12.2006|17:20:13|PASS|0.079832|
|9554814599|13.12.2006|17:21:20|PASS|0.080951|
|9554814722|14.12.2006|17:22:42|PASS|0.090132|
|9554814598|15.12.2006|17:23:47|PASS|0.082544|
|9554815325|15.12.2006|17:24:53|PASS|0.082251|
|9554814674|15.12.2006|17:26:13|PASS|0.080479|
|9554814597|15.12.2006|17:27:20|PASS|0.082414|
|9554814725|15.12.2006|17:28:31|PASS|0.083900|
|9554814879|15.12.2006|17:29:35|PASS|0.079060|
|9554814880|15.12.2006|17:30:40|PASS|0.080191|

Hier ist mein Code dazu:
HTML:
import java.io.*;
import java.util.regex.Matcher;
import java.util.regex.Pattern;
import java.util.Vector;
import javax.swing.JFrame;
import javax.swing.JScrollPane;
import javax.swing.JTable;
import javax.swing.table.AbstractTableModel;

import java.awt.BorderLayout;
import java.awt.Container;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import javax.swing.JButton;
import javax.swing.table.DefaultTableModel; 

public class Main {
    public static void main(String[] args) 
    {
        Vector data = new Vector();
        Vector rowA = new Vector();
         
        String fails[] = werteFuerJTABLE();
        
        for(int i=0; i<fails.length; i++)
        {
            rowA.add(fails[i]);
            rowA.add(  "2" );
            rowA.add(  "3" );
            rowA.add(  "4" );
        
            data.add( rowA );
        }     
      // Die Titel für das Table
      Vector title = new Vector();
         title.add( "A" );
         title.add( "B" );
         title.add( "C" );
         title.add( "D" );
      
      // Das JTable initialisieren
      JTable table = new JTable(  data, title );
      
      JFrame frame = new JFrame( "Demo" );
      frame.getContentPane().add( new JScrollPane( table ) );
      frame.setDefaultCloseOperation( JFrame.EXIT_ON_CLOSE );
      frame.pack();
      frame.setVisible( true );
   }
        
    public static String[] werteFuerJTABLE()
    {
        String zeile;
        String alleFails[] = new String[100];

        try
        {
            File eingabeDatei = new File("C:/Documents and Settings/pdbasand/Desktop/Ausgabe.txt");
            FileReader eingabeStrom = new FileReader(eingabeDatei);
            BufferedReader eingabe = new BufferedReader(eingabeStrom);        
                
            int i=0;
            while ((zeile = eingabe.readLine()) != null) 
            {
                String input = zeile;
        
                Pattern p = Pattern.compile("[0-9]{10}",Pattern.CASE_INSENSITIVE); 
                Matcher m = p.matcher(input);
            
                if (m.find())
                {
                    String gefunden = m.group();
                    alleFails[i] = gefunden;
                    i++;
                }
            }
        }
        catch (IOException e) 
        {
            e.printStackTrace();
        }
        return alleFails;
    }

   
}

Danke im Voraus und Gruss!
 
Hallo!

deine Schleife in der du den rowA Vector füllst ist logisch schon nicht mehr richtig...
du füllst den Vector, füllst ihn weiter, weiter, weiter, weiter .... nach dem adden in den data Vector solltest du ihn neu schreiben, dann funktioniert das auch, bei mir jedenfalls :)

Java:
for(int i=0; i<fails.length; i++){
Vector rowA = new Vector();
     rowA.add(fails[i]);
     rowA.add(  "2" );
     rowA.add(  "3" );
     rowA.add(  "4" );

     data.add( rowA );
}

Gruß
Felix
 
Zurück