N
Nachteule
Gast
Hallo,
ich habe versucht ein sehr einfaches TableModel zu entwerfen ( An Java Insel angelehnt). Leider tut das nicht
Hat jemand nen Tipp für mich?
und das TableModel
ich habe versucht ein sehr einfaches TableModel zu entwerfen ( An Java Insel angelehnt). Leider tut das nicht
Hat jemand nen Tipp für mich?
Code:
import javax.swing.*;
public class SimpleTable
{
public static void main( String args[] )
{
/* String rowData[][] = {
{ "Japan", "245" }, { "USA", "240" }, { "Italien", "220" },
{ "Spanien", "217" }, {"Türkei", "215"} ,{"England", "214"},
{ "Frankreich", "190" }, {"Griechenland" ,"185" },
{ "Deutschland", "180" }, {"Portugal" ," 170" }
};
String columnNames[] = {
"Land", "Durchschnittliche Sehdauer pro Tag in Minuten"
};
*/
TableModel tabModel = new eintraegeTableModel();
JTable table = new JTable();
table.setModel(tabModel);
JFrame frame = new JFrame();
frame.getContentPane().add( new JScrollPane(table) );
frame.setDefaultCloseOperation( JFrame.EXIT_ON_CLOSE );
frame.pack();
frame.setVisible( true );
}
}
und das TableModel
Code:
import javax.swing.table.AbstractTableModel;
public class eintraegeTabelModel extends AbstractTableModel
{
private String[] columnNames = { "Kategorie", "Beschreibung", "Betrag", "Datum" };
//das sind die daten
private Object[][] data = {{"Freizeit", "Kino", "9.99", "8.10.2005"},
{ "Freizeit", "Kino", "9.99", "8.10.2005" }, {"Freizeit", "Kino" , "9.99", "8.10.2005"},
{ "Freizeit", "Kino", "9.99" , "8.10.2005"}, {"Freizeit", "Kino", "9.99" , "8.10.2005"}};
public int getColumnCount()
{
//System.out.println(columnNames.length);
//return columnNames.length;
return 4;
}
public int getRowCount()
{
//System.out.println(data.length);
//return data.length;
return 5;
}
// die funktion rufst du immer auf, wenn du die zeilenanzahl updaten musst.
public void setLength(int rows) {
data = new Object[rows][this.getColumnCount()];
fireTableRowsInserted(0, data.length);
}
public Object getValueAt(int row, int col)
{
return data[row][col];
}
public boolean isCellEditable(int row, int col) {
return false;
}
public void setValueAt(Object value, int row, int col)
{
data[row][col] = value;
fireTableCellUpdated(row, col);
}
public void setValueAt(int value, int row, int col) {
data[row][col] = "" + value;
fireTableCellUpdated(row, col);
}
}