Swing DefaultTableModel, Checkbox in Spalte

b0312

Mitglied
Hallo Community,
ich habe schon auf mehrere Arten versucht eine Checkbox in meine Spalte von der Tabelle zu implementieren. Leider ist es mir nicht gelungen.Das Java-Tutorial (JTable) hat mir leider auch nicht weitergeholfen, zahlreiche andere Forumthreads brachten mich auch nicht zum Ziel.

Hier ist mein Code:

Java:
                public DefaultTableModel drawTable() {
                JTable tblVorgang = new javax.swing.JTable();
                tblDataModel = new DefaultTableModel();

                Vector clmHeader = new Vector();
                Vector dataVector = new Vector();
                int clmCnt = 0;
                clmHeader.addElement("Status");             clmCnt++; //Das ist die Spaltenüberschrift
                clmHeader.addElement("Spalte2");        clmCnt++;
                clmHeader.addElement("Spalte3");        clmCnt++;
                clmHeader.addElement("Spalte4");               clmCnt++;
                clmHeader.addElement("Spalte5");            clmCnt++;
                clmHeader.addElement("Spalte6");            clmCnt++;
                clmHeader.addElement("Spalte7");       clmCnt++;
                clmHeader.addElement("Spalte8");         clmCnt++;
                clmHeader.addElement("Spalte9");           clmCnt++;
                clmHeader.addElement("Spalte10");              clmCnt++;
                clmHeader.addElement("Spalte11");               clmCnt++;
                //clmHeader.addElement("Spalte12");        clmCnt++;
                //clmHeader.addElement("Spalte13");   clmCnt++;
                clmHeader.addElement("SM");                 clmCnt++;
                clmHeader.addElement("GM");                 clmCnt++;
                clmHeader.addElement("OM");                 clmCnt++;
                clmHeader.addElement("NA");                 clmCnt++;
                clmHeader.addElement("AS");                 clmCnt++;
                
                while(rs.next()){
                    //Hier sind die Daten der Datenbank, hiermit wird die Tabelle aufgefüllt
                    Vector rowVector = new Vector();
                    for(int i = 1; i <= clmCnt; i++){
                        if (i == 1){
                            // Abfrage ob es die 1.Zeile ist
                            // Hier soll dann die Checkbox kommen
                            rowVector.addElement(java.lang.Boolean.class); 
                        }
                        rowVector.addElement(rs.getString(i));
                    }
                    dataVector.addElement(rowVector);
                }

                tblDataModel.setDataVector(dataVector,clmHeader);

                return tblDataModel;
    }

Das ist mein TableModel .. das übergebe ich an eine andere Klasse wo die grafische Benutzeroberfläche ist. Die Tabelle verwendet dann dieses TableModel
 
Zuletzt bearbeitet:

b0312

Mitglied
Vielen dank für die schnelle Antwort XHelp,
wie überschreibe ich die Klasse getColumnClass, ich sehe jetzt in meinem Programm überhaupt nicht wo diese Klasse verwendet wird?
 

XHelp

Top Contributor
Das ist keine Klasse, sondern eine Methode von dem TableModel. Du kannst also ein eigenes Model erstellen, welches von DefaultTableModel erbt. In dem Nachtrag ist ein Link auf FAQ Artikel bezüglich Tables, da gibt es auch ganz viele andere Teile, die dir sicherlich weitere Informationen geben
 

b0312

Mitglied
Hallo nochmal, also ich habe es jetzt probiert mit dieser Klasse, lediglich bekomme ich eine Fehlermeldung und stehe auf der Leitung. Bitte um hilfe

Java:
// Folgende FEHLERMELDUNG:
Exception in thread "AWT-EventQueue-0" java.lang.ClassCastException: java.lang.Class cannot be cast to java.lang.Boolean




import java.lang.Object;
import java.sql.ResultSet;
import java.sql.SQLException;
import javax.swing.table.AbstractTableModel;

/**
 *
 * @author Borislav
 */
public class modifyModel extends AbstractTableModel {
    private Object[] dataObjects;
    private Object[] columnObjects;
    private Class[] classes;
// rs ist das ResultSet von meiner mySQL Datenbank
    public modifyModel(ResultSet rs) throws SQLException{
        int n = 0;
        dataObjects = new Object[100000];
        while(rs.next()){
// columnObjects sind die einzelnen Datenfelder eines Datensatzes (insgesamt 16)
            columnObjects = new Object[17];
            for(int i = 1 ; i <= 16; i++){
                if (i == 1){
                    columnObjects[i] = Boolean.valueOf(false);
                }
                columnObjects[i] = rs.getString(i);
            }
// dataObjects sind dann die einzelnen Spalten
            dataObjects[n] = columnObjects;
            n++;
        }

        classes = new Class[]{
            Boolean.class,
            String.class,
            String.class,
            String.class,
            String.class,
            String.class,
            String.class,
            String.class,
            String.class,
            String.class,
            String.class,
            String.class,
            String.class,
            String.class,
            String.class,
            String.class
        };
    }

    public int getRowCount() {
        return dataObjects.length;
    }

    public int getColumnCount() {
        return columnObjects.length;
    }

    public String getColumnName(int column) {
        return getColumnClass( column ).getName();
    }

    public Object getValueAt(int rowIndex, int columnIndex) {
        return classes[columnIndex];
    }

    public Class getColumnClass(int columnIndex) {
        return classes[columnIndex];
    }


}


Möglicherweise wird es probleme bei ColumnObjects & DataObjects geben ?
Ich habe eine alte methode gehabt, dort verwendete ich Vektoren.
Habe es dann bei den Objekten gleich aufgebaut wie bei den Vektoren

Danke im Voraus!
greeTz B0312

EDIT:

Habe es doch noch selbstständig geschafft
2-Dimensionales Objekt und ein bisschen fehler ausbessern, hier die Lösung:

[Java]
package fileimport;

import java.lang.Object;
import java.sql.ResultSet;
import java.sql.SQLException;
import javax.swing.table.AbstractTableModel;

/**
*
* @author Borislav
*/
public class modifyModel extends AbstractTableModel {
private Object[][] dataObjects;
private Class[] classes;
int n = 0;
public modifyModel(ResultSet rs) throws SQLException{

dataObjects = new Object[100000][16];
while(rs.next()){
//rowObjects = new Object[16];
for(int i = 1 ; i <= 16; i++){
int y = i-1;
if (i == 1){
dataObjects[n][y] = Boolean.valueOf(false);
}
else{
if (i == 16){
break;
}
dataObjects[n][y] = rs.getString(i);
}
}
n++;
}

classes = new Class[]{
Boolean.class,
String.class,
String.class,
String.class,
String.class,
String.class,
String.class,
String.class,
String.class,
String.class,
String.class,
String.class,
String.class,
String.class,
String.class,
String.class,
};
}
public int getRowCount() {
return n;
}
public int getColumnCount() {
return 16;
}

public String getColumnName(int column) {
return getColumnClass( column ).getName();
}

public Object getValueAt(int rowIndex, int columnIndex) {
return dataObjects[rowIndex][columnIndex];
}

public Class getColumnClass(int columnIndex) {
return classes[columnIndex];
}


}
[/Java]
 
Zuletzt bearbeitet:
Ähnliche Java Themen
  Titel Forum Antworten Datum
Z DefaultTableModel + checkbox AWT, Swing, JavaFX & SWT 0
I JTable, DefaultTableModel, zwei Zahlen multiplizieren. AWT, Swing, JavaFX & SWT 26
N Hashmap in DefaultTableModel AWT, Swing, JavaFX & SWT 1
M JList wird angezeigt, JTable (DefaultTableModel) nicht AWT, Swing, JavaFX & SWT 7
F AddRow funktionier nicht (DefaultTableModel) AWT, Swing, JavaFX & SWT 3
M Swing DefaultTableModel Problem AWT, Swing, JavaFX & SWT 5
H JTable - DefaultTableModel vs AbstractTableModel AWT, Swing, JavaFX & SWT 5
B Probleme bei Sortierung einer Tabelle mit DefaultTableModel AWT, Swing, JavaFX & SWT 6
D Swing DefaultTableModel setValueAt Methode AWT, Swing, JavaFX & SWT 7
M DefaultTableModel ruft paintComponent auf ! AWT, Swing, JavaFX & SWT 4
J Objekte aus Defaulttablemodel AWT, Swing, JavaFX & SWT 5
J JTable DefaultTableModel - Änderungen feststellen AWT, Swing, JavaFX & SWT 8
M DefaultTableModel setDataVector AWT, Swing, JavaFX & SWT 6
H Zeile in DefaultTableModel hinzufügen, ProgressBar AWT, Swing, JavaFX & SWT 4
J Swing JTable - Konflikt DefaultTableModel+DefaultTableColumnModel AWT, Swing, JavaFX & SWT 7
calzone Swing JTable/DefaultTableModel, rowData auslesen ? AWT, Swing, JavaFX & SWT 15
T Von JTable auf DefaultTableModel AWT, Swing, JavaFX & SWT 2
A insertRow: is ambiguous for the type DefaultTableModel ? AWT, Swing, JavaFX & SWT 2
T JTable und DefaultTableModel AWT, Swing, JavaFX & SWT 4
D Nochmal ne Frage zum DefaultTableModel AWT, Swing, JavaFX & SWT 8
D DefaultTableModel aktualisieren AWT, Swing, JavaFX & SWT 15
G Funktionsfrage zu DefaultTableModel AWT, Swing, JavaFX & SWT 2
J JTablemi DefaultTableModel:Spaltennamen werd.nicht angezeigt AWT, Swing, JavaFX & SWT 4
S Daten von DefaultTableModel sortieren AWT, Swing, JavaFX & SWT 3
J JTableModel: DefaultTableModel vs. AbrstractTableModel AWT, Swing, JavaFX & SWT 4
K JComboBox in DefaultTableModel darstellen AWT, Swing, JavaFX & SWT 2
K DefaultTableModel makierte Row ermitteln AWT, Swing, JavaFX & SWT 6
B fire methoden auch bei defaultTableModel? AWT, Swing, JavaFX & SWT 5
A defaultTableModel "Problem" AWT, Swing, JavaFX & SWT 6
M Wann AbstractTableModel und wann DefaultTableModel AWT, Swing, JavaFX & SWT 4
M DefaultTableModel, kann keine Rows hinzufügen AWT, Swing, JavaFX & SWT 3
M Problem mit JTable und DefaultTableModel AWT, Swing, JavaFX & SWT 2
L JTable (DefaultTableModel) nach Spalte sortieren-TableSorter AWT, Swing, JavaFX & SWT 2
A JTable Änderungen anzeigen (DefaultTableModel) AWT, Swing, JavaFX & SWT 5
G JTable/DefaultTableModel zur Seite scollen AWT, Swing, JavaFX & SWT 3
J DefaultTableModel einlesen aus *txt AWT, Swing, JavaFX & SWT 2
B JavaFX CheckBox mit ChangeListener AWT, Swing, JavaFX & SWT 1
A checkbox in einer TableView abhängig von einem anderen Celleninhalt disablen AWT, Swing, JavaFX & SWT 1
J JavaFx TableView mit CheckBox AWT, Swing, JavaFX & SWT 4
karlmasutra Java FX Checkbox abfragen AWT, Swing, JavaFX & SWT 2
J SceneBuilder TableView Checkbox AWT, Swing, JavaFX & SWT 1
M JAVAFX Checkbox mit URL verlinkung AWT, Swing, JavaFX & SWT 4
A checkbox mit allen tabllen aus datenbank befüllen AWT, Swing, JavaFX & SWT 8
D JIDE TreeComboBox mit checkbox-en kombinieren AWT, Swing, JavaFX & SWT 2
K CheckBox Problem AWT, Swing, JavaFX & SWT 5
Developer_X Java JTable - Combobox + Checkbox - Cellrenderer + Editor AWT, Swing, JavaFX & SWT 3
F JTable mit Checkbox AWT, Swing, JavaFX & SWT 1
T SWT checkbox in table AWT, Swing, JavaFX & SWT 6
M JavaFX TableView mit CheckBox als Boolean AWT, Swing, JavaFX & SWT 5
S Swing JTable zusätzliche Spalte mit einer Checkbox einfügen AWT, Swing, JavaFX & SWT 7
A JXTreeTable mit Checkbox AWT, Swing, JavaFX & SWT 2
P Listenelemente über Checkbox löschen AWT, Swing, JavaFX & SWT 6
D Checkbox - Datenbankausgeben AWT, Swing, JavaFX & SWT 31
A Swing JTable benutzt keine Checkbox für Booleans AWT, Swing, JavaFX & SWT 9
M Swing Dropbox / Checkbox in JTable AWT, Swing, JavaFX & SWT 3
D SWT CheckBox auslesen (Window Builder Pro) AWT, Swing, JavaFX & SWT 2
A Swing Bug in Swing? Wenn checkbox disabled reagiert ActionListener nicht AWT, Swing, JavaFX & SWT 5
T disabled Checkbox soll trotzdem Focus bekommen AWT, Swing, JavaFX & SWT 9
C Checkbox-zustände in einem JFrame speichern AWT, Swing, JavaFX & SWT 8
C SWT CheckBox AWT, Swing, JavaFX & SWT 6
C Checkbox in Liste deaktivieren und paintComponent explizit aufrufen AWT, Swing, JavaFX & SWT 12
N JTable RadioButton statt Checkbox AWT, Swing, JavaFX & SWT 4
Semox Swing Random Checkbox JApplet AWT, Swing, JavaFX & SWT 14
S Checkbox AWT, Swing, JavaFX & SWT 4
Z AWT Auf bestimmte Checkbox einer Checkboxgroup zugreifen AWT, Swing, JavaFX & SWT 3
C jtable checkbox in header / spaltenüberschrift AWT, Swing, JavaFX & SWT 4
T Sprachumstellung per Checkbox, Konzeptfrage AWT, Swing, JavaFX & SWT 16
O CheckBox in Jtable - Listener darauf?? AWT, Swing, JavaFX & SWT 3
W ButtonGroup, Checkbox, A oder B oder gar nix AWT, Swing, JavaFX & SWT 3
T Checkbox in einer Tabelle AWT, Swing, JavaFX & SWT 10
G Checkbox AWT, Swing, JavaFX & SWT 7
A Checkbox-Choice Eventproblem (CMV) AWT, Swing, JavaFX & SWT 2
T Checkbox & Textfield AWT, Swing, JavaFX & SWT 5
S Checkbox oder String in JTable-Spalte AWT, Swing, JavaFX & SWT 4
L Checkbox in Tabelle AWT, Swing, JavaFX & SWT 6
G Checkbox, die eine Endlosschleife ausführt AWT, Swing, JavaFX & SWT 3
R CheckBox drücken, sodass eine Aktion ausgeführt wird AWT, Swing, JavaFX & SWT 5
F Häkchen erscheint nicht bei anklicken von Checkbox in JTable AWT, Swing, JavaFX & SWT 4
T Doppelte Abfrage eine Checkbox vermeiden AWT, Swing, JavaFX & SWT 2
F Checkbox transparent machen ? AWT, Swing, JavaFX & SWT 2
N TableModel mit CheckBox? AWT, Swing, JavaFX & SWT 5
D [JList]Checkbox einbinden ? AWT, Swing, JavaFX & SWT 3
L Checkbox in JTable (again), bei true Daten in Header AWT, Swing, JavaFX & SWT 7
F JTable mit Checkbox macht Probleme AWT, Swing, JavaFX & SWT 4
C Aktion nach Auswahl einer Checkbox AWT, Swing, JavaFX & SWT 6
W CheckBox in Jtree AWT, Swing, JavaFX & SWT 6
G Bild als Checkbox bzw gerasteten Button? AWT, Swing, JavaFX & SWT 3
J jTable + jTextarea & checkbox AWT, Swing, JavaFX & SWT 6
V CheckBox in Tabelle zeichnen AWT, Swing, JavaFX & SWT 2
D CheckBox ändert Status nur, wenn sie FocusOwner ist AWT, Swing, JavaFX & SWT 2
C commando mit checkbox AWT, Swing, JavaFX & SWT 5
T selected checkbox AWT, Swing, JavaFX & SWT 2
T Checkbox AWT, Swing, JavaFX & SWT 10
N Checkbox mit mehreren Strings belegen? AWT, Swing, JavaFX & SWT 6
missy72 JavaFX TableView Spalte zwischen den Zeilen AWT, Swing, JavaFX & SWT 5
H Swing Jtable extra spalte AWT, Swing, JavaFX & SWT 6
G JavaFX TableView Wert in Spalte ändern AWT, Swing, JavaFX & SWT 0
N Warum ist die Spalte weg? AWT, Swing, JavaFX & SWT 61
L JavaFX TableView mit Attributs der Modellreferenzerierung für die Spalte AWT, Swing, JavaFX & SWT 3
M JavaFX TableView nach Spalte sortieren AWT, Swing, JavaFX & SWT 1

Ähnliche Java Themen

Neue Themen


Oben