Servus Leutz
Ich bastele gerade an einem Programm, das größtenteils an & mit einem JTable arbeitet.
Hier ist ein kleiner Auszug daraus.
Meine Fragen wären:
1. Wenn ich das Programm ausführe, dann zeigt sich die Tabelle in der Mitte zusammegeknirscht und breitet sich nicht auf das ganze Panel aus. Komisch. Wie kann ich es beheben?
Wie hier : http://edv.cs.tu-berlin.de/~tretner/hg_klein.JPG
2. Wie kann ich in der Tabelle die Veränderung der Anzahl der Zeilen relativ einfach realisieren? Muss ich jetzt eigene Klasse bauen? Ich würde es gerne so haben, dass man auf einen Button drückt, dann erscheint ein kleines Fenster, wo ich die Daten eingebe und OK drücke und daraufhin dieses Fenster sich schließt und in der Tabelle im Hauptfenster die neue Zeile mit den eingegeben Daten eingefügt wird.
3. Und wie kann ich vorgeben, dass die Spalten eine bestimte Zahl an Zeichen besitzt?
So weit bin ich schon:
Danke.
Gruß
Taik
Ich bastele gerade an einem Programm, das größtenteils an & mit einem JTable arbeitet.
Hier ist ein kleiner Auszug daraus.
Code:
String columnNames[] = {bla bla bla bla bla bla bla bla bla bla};
String data[][] = new String[1][11];
JTable tab = new JTable(data,columnNames){
public boolean isCellEditable(int rowIndex, int columnIndex) {
return false;
}
};
JScrollPane overview = new JScrollPane(tab);
JPanel center = new JPanel();
public void bla(){
main.setLayout(new BoxLayout(main, BoxLayout.X_AXIS));
main.add(center);
center.setLayout(new FlowLayout());
center.add(overview);
}
1. Wenn ich das Programm ausführe, dann zeigt sich die Tabelle in der Mitte zusammegeknirscht und breitet sich nicht auf das ganze Panel aus. Komisch. Wie kann ich es beheben?
Wie hier : http://edv.cs.tu-berlin.de/~tretner/hg_klein.JPG
2. Wie kann ich in der Tabelle die Veränderung der Anzahl der Zeilen relativ einfach realisieren? Muss ich jetzt eigene Klasse bauen? Ich würde es gerne so haben, dass man auf einen Button drückt, dann erscheint ein kleines Fenster, wo ich die Daten eingebe und OK drücke und daraufhin dieses Fenster sich schließt und in der Tabelle im Hauptfenster die neue Zeile mit den eingegeben Daten eingefügt wird.
3. Und wie kann ich vorgeben, dass die Spalten eine bestimte Zahl an Zeichen besitzt?
So weit bin ich schon:
Code:
import javax.swing.table.*;
public class MyTableModel extends DefaultTableModel {
String columnNames[];
public DepotTableModel(Object[][] data, String[] columnNames){
super(data, columnNames);
this.columnNames = new String[columnNames.length];
this.columnNames = columnNames;
}
public String getColumnName(int index) {
return columnNames[index];
}
public int getColumnCount() {
return 11;
}
public int getRowCount() {
return -1;
}
public Object getValueAt(int row, int col) {
return -1;
}
public Class getColumnClass(int index){
try {
switch (index) {
case 0:
return Class.forName("java.lang.String");
case 1:
return Class.forName("java.lang.String");
case 2:
return Class.forName("java.lang.Integer");
case 3:
return Class.forName("java.lang.String");
case 4:
return Class.forName("java.lang.Double");
case 5:
return Class.forName("java.lang.Double");
case 6:
return Class.forName("java.lang.String"); //Datum
case 7:
return Class.forName("java.lang.Double");
case 8:
return Class.forName("java.lang.Double");
case 9:
return Class.forName("java.lang.Double");
case 10:
return Class.forName("java.lang.Double");
default:
return null;
}
} catch (Exception e) {
return null;
}
}
}
Danke.
Gruß
Taik
Zuletzt bearbeitet: