Hi,
ich sitze ja heute schon den ganzen Abend an JTable, mit Arrays hat soweit auch alles geklappt,
und jetzt habe ich mich mal an DefaultTableModel rangetraut.
Ich habe ehrlich gesagt vorher noch nie was mit Vector gemacht, aber hier benötige ich die klasse ja anscheinend.
Erstmal mein Code. (diesmal ist er noch nicht fertig, da ich aufgrund des Fehlers nicht weiter komme, und es auch schon spät ist)
Hier noch der Inhalt der txt datei
Was habe ich mir gedacht:
Ich habe das gleiche vorher schon mit arrays geschrieben, allerdings würde ich gerne auch neue Zeilen hinzufügen können.
Deswegen wollte ich einen Button machen "alleObjekteButton", der erstmal alles aus der txt raushohlt und die Tabelle aufmacht, und einen Button, der leere zeilen hinzufügt.
Hier liegt der Hund begraben (Zeile 79)
model müsste ja eigentlich addRow "können" trotzdem wird mir ein Fehler angezeigt
Desweiteren weiß ich nicht, ob mit dem Vector vector alles glatt läuft.
Ich hohle die daten aus der txt erst in einen String.
Splitte dann den String(Zeile) auf in 4 Teile und speicher es in ein Array.
(Bis hier sollte er klappen)
Und dann übergebe ich den Inhalt vom Array in den Vector. Das habe ich so noch nie gemacht und den Code dafür aus dem web. Ist das so richtig?
Das sind meine Idee, woran es liegen könnte.
Wie immer, Danke für eure Hilfe im Voraus.
ich sitze ja heute schon den ganzen Abend an JTable, mit Arrays hat soweit auch alles geklappt,
und jetzt habe ich mich mal an DefaultTableModel rangetraut.
Ich habe ehrlich gesagt vorher noch nie was mit Vector gemacht, aber hier benötige ich die klasse ja anscheinend.
Erstmal mein Code. (diesmal ist er noch nicht fertig, da ich aufgrund des Fehlers nicht weiter komme, und es auch schon spät ist)
Java:
import java.awt.*;
import javax.swing.*;
import java.awt.event.*;
import java.io.*;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JScrollPane;
import javax.swing.JTable;
import javax.swing.table.DefaultTableModel; //mit DefaultTableModel
import java.util.Vector;
public class versuch3 extends JFrame
{
/**
*
*/
private static final long serialVersionUID = 1L;
Container c;
//JPanel jpcenter;
JPanel jpsouth;
JButton alleObjekteButton;
JButton gefundendeObjekteButton;
JButton neueZeile;
JButton speichern;
String zeile;
String [] dataZeile = new String [5];
String [][]data = new String [100][5];
int i = 0;
int j = 0;
//tabel
JTable tabelle;
JScrollPane scrollPane;
String[] title = new String[]{
"Name", "Ort", "Nummer", "Barcode"};
Vector vector = new Vector( 3 );
public versuch3()
{ final DefaultTableModel model = new DefaultTableModel( title, 0 ); //mit DefaultTableModel
JTable tabelle = new JTable(model); //mit DefaultTableModel
c = getContentPane();
jpsouth = new JPanel(new GridLayout(1,4));
//erster button
alleObjekteButton = new JButton("Alle Objekte anzeigen");
jpsouth.add(alleObjekteButton);
alleObjekteButtonListenerklasse obL = new alleObjekteButtonListenerklasse();
alleObjekteButton.addActionListener(obL);
//zweiter button
gefundendeObjekteButton = new JButton("Gefundende Objekte anzeigen");
jpsouth.add(gefundendeObjekteButton);
//dritter Button
neueZeile = new JButton("neue Zeile");
jpsouth.add(neueZeile);
//vierter Button
speichern = new JButton("Speichern");
jpsouth.add(speichern);
//tabel hinuzufügen
//erst im Listener :(
c.add(jpsouth, BorderLayout.SOUTH);
}
class alleObjekteButtonListenerklasse implements ActionListener
{
public void actionPerformed(ActionEvent e) {
try{
FileReader fr = new FileReader("texttabelle.txt");
BufferedReader br = new BufferedReader(fr);
while( (zeile = br.readLine()) != null )
{
String []dataZeile = zeile.split(";");
//Keine Ahnung ob richtig
for(i =0; i >=4; i++)
{vector.add("dataZeile[i]");}
// add oder addElement ? vector.addElement("dataZeile[i]");}
model.addRow(vector);
}
br.close();
}
catch(IOException ex) {
//do nothing
}
//Daten in Tabelle schreiben
JTable tabelle = new JTable( data, title );
c.add( new JScrollPane( tabelle ),BorderLayout.CENTER);
c.validate();
//jpcenter.add(new JLabel(zeile));
}}
public static void main (String []args)
{
versuch3 fenster = new versuch3();
fenster.setTitle("RFID Finder Tabellenansicht");
fenster.setSize(900,700);
fenster.setVisible(true);
fenster.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
}
}
Hier noch der Inhalt der txt datei
1.1;1.2;1.3;1.4
2.1;2.2;2.3;2.4
3.1;3.2;3.3;3.4
4.1;4.2;4.3;4.4
5.1;5.2;5.3;5.4
6.1;6.2;6.3;6.4
Was habe ich mir gedacht:
Ich habe das gleiche vorher schon mit arrays geschrieben, allerdings würde ich gerne auch neue Zeilen hinzufügen können.
Deswegen wollte ich einen Button machen "alleObjekteButton", der erstmal alles aus der txt raushohlt und die Tabelle aufmacht, und einen Button, der leere zeilen hinzufügt.
Hier liegt der Hund begraben (Zeile 79)
Java:
while( (zeile = br.readLine()) != null )
{
String []dataZeile = zeile.split(";");
for(i =0; i >=4; i++)
{vector.add("dataZeile[i]");}
// add oder addElement ? vector.addElement("dataZeile[i]");}
model.addRow(vector);
}
model müsste ja eigentlich addRow "können" trotzdem wird mir ein Fehler angezeigt
Desweiteren weiß ich nicht, ob mit dem Vector vector alles glatt läuft.
Ich hohle die daten aus der txt erst in einen String.
Splitte dann den String(Zeile) auf in 4 Teile und speicher es in ein Array.
(Bis hier sollte er klappen)
Und dann übergebe ich den Inhalt vom Array in den Vector. Das habe ich so noch nie gemacht und den Code dafür aus dem web. Ist das so richtig?
Das sind meine Idee, woran es liegen könnte.
Wie immer, Danke für eure Hilfe im Voraus.
Zuletzt bearbeitet: