Hallo,
ich möchte bei einem actionEvent eine Tabelle aufbauen. Folgende Info habe ich im Forum bereits gefunden:
Nur leider weiss ich nicht, wo ich im meinem Programm das Table Modell unterbringen soll. Anbei mein Beispielprogramm:
Vielen Dank für einen kleinen Tipp.
ich möchte bei einem actionEvent eine Tabelle aufbauen. Folgende Info habe ich im Forum bereits gefunden:
Code:
table.setModel( new DefaultTableModel( arrListe, columnNames ) ); // <-- Wohin damit ???
Nur leider weiss ich nicht, wo ich im meinem Programm das Table Modell unterbringen soll. Anbei mein Beispielprogramm:
Code:
import java.io.*;
import java.util.*;
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
import javax.swing.table.*;
public class TestArray extends JFrame implements ActionListener{
private int arrListeCount = 0;
String[][] arrListe = new String[200][];
String[] columnNames = {"Geburtsdatum","Vorname","Nachname","Telefon"};
final JTable table = new JTable ();
DefaultTableModel tableModel = new DefaultTableModel (arrListe, columnNames);
JButton showBirthday = new JButton("Geburtstage");
public TestArray (){
JScrollPane scrollPane = new JScrollPane ();
scrollPane.setViewportView(table);
setSize(640, 480);
setDefaultCloseOperation(EXIT_ON_CLOSE);
JPanel pane = new JPanel();
pane.setLayout(new BorderLayout());
showBirthday.addActionListener(this);
pane.add("Center", scrollPane);
pane.add("South", showBirthday);
setContentPane(pane);
}
public void birthdayTable(){
table.setModel( new DefaultTableModel( arrListe, columnNames ) ); // <-- Wohin damit ???
loadFile();
for ( int i= 0; i < arrListeCount; i++){
tableModel.addRow(arrListe[i]);
}
}
public void loadFile(){
try {
FileReader file = new FileReader("birthday.csv");
BufferedReader buff = new BufferedReader(file);
boolean eof = false;
int count = 0;
while(!eof) {
String line = buff.readLine();
if (line == null)
eof = true;
else {
StringTokenizer tokenizer = new StringTokenizer( line, ";" );
int size = tokenizer.countTokens();
String[] array = new String[size];
int index = 0;
while( index < size ) {
array[index] = tokenizer.nextToken();
index++;
}
arrListe[arrListeCount] = array;
arrListeCount++;
}
}
buff.close();
} catch (IOException e){
System.out.println("Error-- " + e.toString());
}
}
public void actionPerformed(ActionEvent evt){
Object source = evt.getSource();
if (source == showBirthday) {
birthdayTable();
}
}
public static void main(String[] args) {
Frame f = new TestArray();
f.show();
}
}
Vielen Dank für einen kleinen Tipp.