Hi Leute,
erstmal Kompliment an dieses Top Forum. Hab dadurch schon einige Probleme gelöst.
Hier mein jetziges:
Habe ein Tabellmodel geschrieben gemäß den FAQs. Mein Problem is nur dass die Werte im boolean array print geändert werden aber in der CheckBox in der Tabelle nicht angezeigt werden.
Code:
Das TabelModel ist passend gesetzt in der Main. Funktioniert auch einwandfrei. Nur die Checkboxen ned.
Main:
Buttonrender und CellEdittor für Splate 5 hab ich bewußt weggelassen.
THX für eure Hilfe
Gruß Fleedo
erstmal Kompliment an dieses Top Forum. Hab dadurch schon einige Probleme gelöst.
Hier mein jetziges:
Habe ein Tabellmodel geschrieben gemäß den FAQs. Mein Problem is nur dass die Werte im boolean array print geändert werden aber in der CheckBox in der Tabelle nicht angezeigt werden.
Code:
Code:
import javax.swing.JButton;
import javax.swing.table.AbstractTableModel;
public class TravelDetailsTableModel extends AbstractTableModel {
private boolean[] print = new boolean[] { false, false, false, false,
false, false };
public int getColumnCount() { // Setzt die Anzahl der Spalten
return 6;
}
public int getRowCount() { // Setzt die Anzahl der Zeilen
return 1;
}
public boolean getPrint(int index) {
return print[index];
}
public Object getValueAt(int colIndex, int rowIndex) { // Liefert die Werte der einzelnen Zellen
if (colIndex == 4 && rowIndex == 0) {
return new Boolean(print[rowIndex]);
} else
return null;
}
public String getColumnName(int columnIndex) { // Setzt die
// Spaltenüberschriften
switch (columnIndex) {
case 0:
return "Reisename";
case 1:
return "Restplätze";
case 2:
return "normaler Verkaufspreis";
case 3:
return "minimaler Verkaufspreis";
case 4:
return "Drucken";
case 5:
return "Buchen";
default:
return null;
}
}
public Class getColumnClass(int columnIndex) { // Liefert die Klasse der
// einzelnen Zellen
switch (columnIndex) {
case 0:
return String.class;
case 1:
return String.class;
case 2:
return String.class;
case 3:
return String.class;
case 4:
return Boolean.class;
case 5:
return JButton.class;
default:
return null;
}
}
public boolean isCellEditable(int rowIndex, int columnIndex) { // Definiert
// welche
// Zellen
// editierbar
// sind
if (columnIndex == 4 || columnIndex == 5)
return true;
else
return false;
}
public void setValueAt(Object aValue, int rowIndex, int columnIndex) {
if (columnIndex == 4 && rowIndex == 0) {
print[rowIndex] = ((Boolean) aValue).booleanValue();
getValueAt(columnIndex, rowIndex);
}
}
Main:
Code:
public static void main( String[] args ){
// Unser TableModel (siehe unten)
Model model = new Model();
// Das JTable initialisieren
JTable table = new JTable( model );
JFrame frame = new JFrame( "Demo" );
frame.getContentPane().add( new JScrollPane( table ) );
frame.setDefaultCloseOperation( JFrame.EXIT_ON_CLOSE );
frame.pack();
frame.setVisible( true );
Buttonrender und CellEdittor für Splate 5 hab ich bewußt weggelassen.
THX für eure Hilfe
Gruß Fleedo