Auch JTable - checkboxes

Spin

Top Contributor
Java:
public class AdminCocktailAnsicht extends AbstractTableModel implements TableModelListener{

    Cocktailliste clist;
    private Vector<Object> list = new Vector<Object>();

    public Vector<Object> fill() {

        Boolean bool = false;
        for (int i = 0; i < clist.sizeCocktails(); i++) {
            list.add(bool);
        }
        return list;
    }

    public AdminCocktailAnsicht() {
        /* Cocktailiste holen*/

        DBSchnittstelle db = new DBSchnittstelle();
        try {
            clist = db.ladeCocktails();
        } catch (SQLException e) {
        } catch (IOException e) {
        }
        this.fill();
    }

    public int getRowCount() {
        return clist.sizeCocktails();
    }

    public int getColumnCount() {
        return 4;
    }

    public Object getValueAt(int row, int col) {
        Cocktail c = clist.getCocktail(row);
        switch (col) {
            case 0:
                return c.getName();
            case 1:
                return c.getKategorie();
            case 2:
                return c.getBeschreibung();
            case 3:
                return list.get(row);
        }
        return null;
    }

    @Override
    public String getColumnName(int col) {
        switch (col) {
            case 0:
                return "Name";
            case 1:
                return "Kategorie";
            case 2:
                return "Beschreibung";
            case 3:
                return "Sichtbarkeit";
        }
        return null;

    }

    public Class getColumnClass(int column) {
        try {
            if (column == 3) {
                return Class.forName("java.lang.Boolean");
            }
            return Class.forName("java.lang.Object");
        } catch (ClassNotFoundException ex) {
            ex.printStackTrace();
            return null;
        }
    }

    public void tableChanged(TableModelEvent e) {
        throw new UnsupportedOperationException("Not supported yet.");
    }

    @Override
    public boolean isCellEditable(int row, int column) {
        switch(row)
        {
            case 3: return true;
        }
        return false;

    }


Hallo hier mal mein schönes Model. Es geht alles wunderbar, jedoch frage ich mich , warum ich die letzte Spalte nicht edittieren kann?

Ich will doch einfach nur die checkboxen an und aus machen können und dann mit meinen TableListener die Änderung abfangen . weiß einer den fehler , danke :)
 
G

Gast2

Gast
Java:
public class AdminCocktailAnsicht extends AbstractTableModel implements TableModelListener{

    Cocktailliste clist;
    private Vector<Object> list = new Vector<Object>();

    public Vector<Object> fill() {

        Boolean bool = false;
        for (int i = 0; i < clist.sizeCocktails(); i++) {
            list.add(bool);
        }
        return list;
    }

    public AdminCocktailAnsicht() {
        /* Cocktailiste holen*/

        DBSchnittstelle db = new DBSchnittstelle();
        try {
            clist = db.ladeCocktails();
        } catch (SQLException e) {
        } catch (IOException e) {
        }
        this.fill();
    }

    public int getRowCount() {
        return clist.sizeCocktails();
    }

    public int getColumnCount() {
        return 4;
    }

    public Object getValueAt(int row, int col) {
        Cocktail c = clist.getCocktail(row);
        switch (col) {
            case 0:
                return c.getName();
            case 1:
                return c.getKategorie();
            case 2:
                return c.getBeschreibung();
            case 3:
                return list.get(row);
        }
        return null;
    }

    @Override
    public String getColumnName(int col) {
        switch (col) {
            case 0:
                return "Name";
            case 1:
                return "Kategorie";
            case 2:
                return "Beschreibung";
            case 3:
                return "Sichtbarkeit";
        }
        return null;

    }

    public Class getColumnClass(int column) {
        try {
            if (column == 3) {
                return Class.forName("java.lang.Boolean");
            }
            return Class.forName("java.lang.Object");
        } catch (ClassNotFoundException ex) {
            ex.printStackTrace();
            return null;
        }
    }

    public void tableChanged(TableModelEvent e) {
        throw new UnsupportedOperationException("Not supported yet.");
    }

    @Override
    public boolean isCellEditable(int row, int column) {
        switch(row)
        {
            case 3: return true;
        }
        return false;

    }


Hallo hier mal mein schönes Model. Es geht alles wunderbar, jedoch frage ich mich , warum ich die letzte Spalte nicht edittieren kann?

Ich will doch einfach nur die checkboxen an und aus machen können und dann mit meinen TableListener die Änderung abfangen . weiß einer den fehler , danke :)

Ich würde mal das interface List benutzen
Java:
 private List<Object> list = new Vector<Object>();

zu deiner Frage es könnte sein dass du vielleicht die Methode noch in der Tabelle überschreiben musst oder du dort gesagt hast dass man Zeilen nicht edtieren darf...

EDIT: Kannst ja auch mal debuggen ob überhaupt mal true zurück geliefert wird...
 
Zuletzt bearbeitet von einem Moderator:

KrokoDiehl

Top Contributor
Java:
    @Override
    public boolean isCellEditable(int row, int column) {
        switch(row)
        {
            case 3: return true;
        }
        return false;
 
    }

Hier steht
Code:
switch (row)
...vielleicht meinst du
Code:
column
? :)
 

Spin

Top Contributor
Moin, leider liegts an keinen von beiden vorgeschlangenden Problemen.
Ich kann die Textfelder ohne Probleme editieren , aber die Checkbox nicht.

Vielleicht liegt es daran , dass ich einträge in der list nicht ändern darf MH.
Wie kann ich dass denn anders machen , also anstatt eine list mit true werten übergeben.

Eigentlich will ich Boolean Objekte die man denn per mausklick ändern kann , gruß
 

Michael...

Top Contributor
In Deinem Model fehlt noch eine Methode.
Du musst in noch
Code:
public void setValueAt(Object aValue, int rowIndex, int columnIndex)
implementieren.
 

Spin

Top Contributor
Java:
public void setValueAt(Object aValue, int row, int col) {
        if (col == 3) {
            list.set(row, aValue);
        }
    }

Meinst du so?

Mit setValueAt bekomme ich den wert oder setze ich ihn?
Weil ich ein objekt bekomme , dass irrtiert mich , danke :)
:toll:
es funktioniert . danke:)
 
Zuletzt bearbeitet:
G

Gast2

Gast
Moin, leider liegts an keinen von beiden vorgeschlangenden Problemen.
Ich kann die Textfelder ohne Probleme editieren , aber die Checkbox nicht.

Vielleicht liegt es daran , dass ich einträge in der list nicht ändern darf MH.
Wie kann ich dass denn anders machen , also anstatt eine list mit true werten übergeben.

Eigentlich will ich Boolean Objekte die man denn per mausklick ändern kann , gruß

Wie du kannst die die Textfelder ohne Probleme editieren??? dann bringt die methode gar nichts ^^...
 

Ebenius

Top Contributor
Java:
public void setValueAt(Object aValue, int row, int col) {
        if (col == 3) {
            list.set(row, aValue);
        }
    }

Meinst du so?
Da fehlt noch ein Event. Das Modell muss allen Zuhörern Bescheid geben, wenn es sich ändert.

Nur am Rande: Bitte nicht sowas machen: [c]Class.forName("java.lang.Boolean");[/c] Statt dessen einfach [c]Boolean.class[/c]. Das spart die deklarierte Exception, Zeit, Code und Augenkrebs. :)

Ebenius
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
P Swing In JTable Header auch an der linken Seite AWT, Swing, JavaFX & SWT 2
R Frage zu Listfeld oder jTable, auch andere Fragen AWT, Swing, JavaFX & SWT 5
M kann man in ein Jtable auch bilder machen? AWT, Swing, JavaFX & SWT 15
_user_q Kann man ein 2. JavaFX-Fenster auch beenden (exit) statt schließen (close) lassen? AWT, Swing, JavaFX & SWT 8
J Spielfelder auch über die Tastatureingabe (1…9) ansteuern (Tic Tac Toe) AWT, Swing, JavaFX & SWT 2
MoxxiManagarm JavaFX Auch ich versuche mit JavaFX warm zu werden AWT, Swing, JavaFX & SWT 9
S JavaFX Node soll auch nach Skalierung zentriert platziert sein AWT, Swing, JavaFX & SWT 3
I Swing JMenuBar auch unten am JFrame? AWT, Swing, JavaFX & SWT 2
M JavaFX - Bild in Jar einbinden, sodass es auch außerhalb der IDE geladen wird. AWT, Swing, JavaFX & SWT 2
D Swing Schließen von JDialog soll auch JFrame schließen. AWT, Swing, JavaFX & SWT 4
B Event Handling MouseListener Behält seine Variablen, auch wenn ich ein neus Objekt erstelle AWT, Swing, JavaFX & SWT 2
B Event Handling Mausbewegung auch außerhalb eines JFrames registrieren AWT, Swing, JavaFX & SWT 2
A LayoutManager Statusleiste auch nach Verkleinerung des Fensters anzeigen AWT, Swing, JavaFX & SWT 1
N Swing Alle Objekte anzeigen auch bei JPanel-Überlappung AWT, Swing, JavaFX & SWT 6
S g.setStroke verändert auch Buttonrahmen AWT, Swing, JavaFX & SWT 2
B Play Button auch als Stop Button benutzen, MP3 Player AWT, Swing, JavaFX & SWT 7
GUI-Programmer LayoutManager NullLayout - Ist es auch in diesem Fall schlecht? AWT, Swing, JavaFX & SWT 3
T Rectangle Namen geben? Alternativen auch gerne gesehen. AWT, Swing, JavaFX & SWT 2
T jPanels im jFrame bewegen - Auch ohne Textfield? AWT, Swing, JavaFX & SWT 4
A Defaults auch für SWT AWT, Swing, JavaFX & SWT 7
JuliaOne Komponenten innerhalb eine JScrollpane werden auch ausserhalb davon gezeichnet! AWT, Swing, JavaFX & SWT 7
H GridBagLayout spinnt beim vergrößern des Fensters als auch beim Maximieren AWT, Swing, JavaFX & SWT 4
Private Void LayoutManager Cardwechsel im CardLayout auch von Card aus? AWT, Swing, JavaFX & SWT 6
Luk10 repaint() auch in anderen Klassen! AWT, Swing, JavaFX & SWT 6
R Swing Warum wird der Inhalt auch Transparent? AWT, Swing, JavaFX & SWT 8
? Tabelle formatieren - auch ohne CellRenderer? AWT, Swing, JavaFX & SWT 6
S Tabelle soll sich auch in der Höhe resizen? AWT, Swing, JavaFX & SWT 4
G fireTableDataChanged() geht das auch ohne vector? AWT, Swing, JavaFX & SWT 13
C JTextField auch für zahlenwerte? AWT, Swing, JavaFX & SWT 5
T Auf Fenster innerhalb der Anwendung zugreifen-auch elegant? AWT, Swing, JavaFX & SWT 2
B fire methoden auch bei defaultTableModel? AWT, Swing, JavaFX & SWT 5
F gibt etwas wie frames in html auch in java? AWT, Swing, JavaFX & SWT 19
M kann man auch eigene look and feels machen? AWT, Swing, JavaFX & SWT 2
K insertHTMLTextAction auch mit Attributen? AWT, Swing, JavaFX & SWT 3
M JFileChooser und multiple Selektierung auch für Verz? AWT, Swing, JavaFX & SWT 2
Z FileChooer auch mit SWT benutzen? AWT, Swing, JavaFX & SWT 2
P Scrollbar/Pane auch mit negativen x,y - Werten AWT, Swing, JavaFX & SWT 2
M auch JScrollPane aber mit Zoomen, wie wird der View gesetzt AWT, Swing, JavaFX & SWT 2
G auch mit rechter Maustaste in einer Tabelle markieren? AWT, Swing, JavaFX & SWT 3
J Drag und drop aus einer JTable - bitte um Unterstützung AWT, Swing, JavaFX & SWT 2
S HPRO und UPRO gemeinsame JTABLE gemeinsamer RENDERER ? AWT, Swing, JavaFX & SWT 1
F Swing JTable - MultiHeader inkl. Eingabemöglichkeit AWT, Swing, JavaFX & SWT 1
S JTable - Feldinhalte anzeigen AWT, Swing, JavaFX & SWT 15
D Swing JTable Spaltenbreite AWT, Swing, JavaFX & SWT 1
W Gibt es einen "automatischen Listener" in Swing oder JTable oder der ATM-Klasse? AWT, Swing, JavaFX & SWT 14
G jTable - getSelectedRow() AWT, Swing, JavaFX & SWT 3
I JTable mit einem Button zu einer Detail Seite springen AWT, Swing, JavaFX & SWT 4
P JTable Listener für die Änderung einzelner Zellen oder Rows AWT, Swing, JavaFX & SWT 2
D Tastaturabfragen CTRL+t, CTRL+E bei eine JTable, bestehend aus JTextAteas AWT, Swing, JavaFX & SWT 4
P Checkboxes in JTable nicht editable AWT, Swing, JavaFX & SWT 9
F Best-Practise: JTable Text in Zelle zu groß AWT, Swing, JavaFX & SWT 2
izoards JTable in CSV File schreiben... AWT, Swing, JavaFX & SWT 23
Kohl Jedes Objekt einer JTable um ein Zeichen verkürzen AWT, Swing, JavaFX & SWT 7
I JTable, DefaultTableModel, zwei Zahlen multiplizieren. AWT, Swing, JavaFX & SWT 26
M JTABLE / wie oft wurde gewürfelt. AWT, Swing, JavaFX & SWT 1
F JTable vergrößern AWT, Swing, JavaFX & SWT 2
H JTable: Diverse NullPointer-Exceptions zur Laufzeit AWT, Swing, JavaFX & SWT 3
J Swing Werte des JTable werden nicht angezeigt AWT, Swing, JavaFX & SWT 9
T Swing JTable cellRenderer mit jpg Hintergrundfarbe lässt sich nicht ändern. AWT, Swing, JavaFX & SWT 1
HoT Einzelne Zelle in JTable Rahmen unten setzen AWT, Swing, JavaFX & SWT 24
B JTable Zellen zusammenfügen AWT, Swing, JavaFX & SWT 3
M Swing Cell Renderer für Zeilenumbruch in JTable AWT, Swing, JavaFX & SWT 0
H JTable im JSplitPane darstellen AWT, Swing, JavaFX & SWT 2
MadMax2506 Swing JTable lädt sehr lange AWT, Swing, JavaFX & SWT 1
D Zeilenumbruch in einer JTable AWT, Swing, JavaFX & SWT 9
R Swing JTable und Spaltenausrichtung AWT, Swing, JavaFX & SWT 8
G JTable füllen AWT, Swing, JavaFX & SWT 1
H JTable TableCellEditor-Problem AWT, Swing, JavaFX & SWT 0
W Swing JTable Zeilenumbruch innerhalb einer Zelle AWT, Swing, JavaFX & SWT 3
J Datensatz in jTable ausgeben AWT, Swing, JavaFX & SWT 3
M Swing Automatischer Editorstart in JTable-Zelle AWT, Swing, JavaFX & SWT 5
ralfb1105 Swing JTable aktualisieren AWT, Swing, JavaFX & SWT 5
adiko01 JTable: Nur markierte Zeilen aus der Tabelle in CSV exportiern AWT, Swing, JavaFX & SWT 9
M JTable.setDefaultRenderer(...) greift nicht AWT, Swing, JavaFX & SWT 0
J JTable: Eingabe in Tabellenzelle korrigieren AWT, Swing, JavaFX & SWT 4
T Problem mit JTable Sortierung AWT, Swing, JavaFX & SWT 2
D JTable nach INSERT aktualisieren /refreshen AWT, Swing, JavaFX & SWT 1
D MySQL Daten in JTable anzeigen AWT, Swing, JavaFX & SWT 2
H Swing Jtable extra spalte AWT, Swing, JavaFX & SWT 6
S Swing Rechteck über JTable zeichnen (per MouseListener) AWT, Swing, JavaFX & SWT 1
S Swing Mal wieder JTable Ansicht aktualisieren AWT, Swing, JavaFX & SWT 10
A JTable mit Daten füllen AWT, Swing, JavaFX & SWT 1
VfL_Freak Swing Einzelne Zeile in jTable selektieren klappt nicht AWT, Swing, JavaFX & SWT 7
N AWT jTable CellRenderer AWT, Swing, JavaFX & SWT 6
T Swing JTable valueChanged datensatz löschen AWT, Swing, JavaFX & SWT 1
0 Swing JTable aus anderer Klasse updaten AWT, Swing, JavaFX & SWT 5
S Jtable defaultRenderer wohin damit ? AWT, Swing, JavaFX & SWT 23
T Swing JTable / FocusListener AWT, Swing, JavaFX & SWT 0
it_is_all Warum wird die JTable im JDialog nicht angezeigt? AWT, Swing, JavaFX & SWT 1
L Swing JTable im Panel darstellen AWT, Swing, JavaFX & SWT 8
T Swing Double Click bei Buttons in JTable AWT, Swing, JavaFX & SWT 9
J addRow bei JTable AWT, Swing, JavaFX & SWT 6
M Jtable gibt -1 wert bei selectedRow und Column AWT, Swing, JavaFX & SWT 3
Meeresgott Swing JTable AWT, Swing, JavaFX & SWT 4
J JTable Selection Listener funktioniert nicht AWT, Swing, JavaFX & SWT 4
C Swing Daten in JTable wiedergeben per TableModel und MVC Pattern AWT, Swing, JavaFX & SWT 16
Z Swing Drag&Drop zwischen JTable und JTree AWT, Swing, JavaFX & SWT 4
Thallius JTable dynamisch Spaltenanzahl verändern AWT, Swing, JavaFX & SWT 2
Thallius JTable dynamisch laden? AWT, Swing, JavaFX & SWT 2
B Swing JTable sortieren AWT, Swing, JavaFX & SWT 2

Ähnliche Java Themen

Neue Themen


Oben