JTable. Beim löschen der Zeilen Fehlermeldung

Status
Nicht offen für weitere Antworten.

Moonlight1234

Bekanntes Mitglied
Ich habe eine JTable mit eignem CellRenderer und eigenem Editor programmiert.
Die Daten sind im TableModel in einem Vector<String> gespeichert.
Das Problem ist folgendes:
Wenn ich mehrere Zeilen selektiere und lösche, und sofort danach wieder Zeilen selektiere kann es zu einer ArrayIndexOutOfBounds-Exception kommen.
Wenn ich nicht sofort nach dem löschen etwas selektiere, tritt das Problem nicht auf.
Meine Vermutung ist, da bei einer Table mit Events gearbeitet wird und Events parallel ablaufende Prozesse sind, das wenn Zeilen gelöscht werden andere Events auf nicht mehr existierende Elemente das Vectors zugreifen.
Ich weiß im Moment nicht wie ich dieses Problem beseitigen kann.
Ein Vector ist threadsicher und die Methoden die Werte im Vector lesen, verändern wurden von mir als synchronized deklariert.

Kennt jemand das Problem?
Wie kann ich das beseitigen?
 
G

Guest

Gast
Die Tabelle hat deine Löschaktion noch nicht mitgekriegt
und versucht auf Zeilen zuzugreifen, die nicht mehr existieren.

Siehe
AbstractTableModel#fireTableRowsDeleted(int firstRow, int lastRow)
 

Moonlight1234

Bekanntes Mitglied
Ich mache genau das was auch das AbstractTableModel macht:

Code:
    public synchronized void removeRow(int row){
        dataVector.removeElementAt(row);
        fireTableRowsDeleted(row, row);
    }

    public void fireTableRowsDeleted(int firstRow, int lastRow) {
        fireTableChanged(new TableModelEvent(this, firstRow, lastRow,
                TableModelEvent.ALL_COLUMNS, TableModelEvent.DELETE));
    }
 
G

Guest

Gast
Hmm... mir fällt dazu nicht viel ein.
Ich kann mir vorstellen, dass so etwas passieren könnte, wenn man direkt
nach dem Löschen eine andere Zeile selektiert (im Code, nicht mit der Maus)
Der ChangeEvent könnte noch in der EventQueue sein, solange der
aktuelle Event (ActionEvent o.ä.), aus dem heraus du die Zeilen löschst, nicht
abgearbeitet ist. ???:L

Wie sieht die Exception bzw. das Stacktrace aus? An welcher Stelle genau
kommt es zu der Exception?
Sicher, dass du in deinem Renderer nicht irgendwo einen Fehler übersehen hast?
 

Moonlight1234

Bekanntes Mitglied
Anonymous hat gesagt.:
Ich kann mir vorstellen, dass so etwas passieren könnte, wenn man direkt
nach dem Löschen eine andere Zeile selektiert (im Code, nicht mit der Maus)
Der ChangeEvent könnte noch in der EventQueue sein, solange der
aktuelle Event (ActionEvent o.ä.), aus dem heraus du die Zeilen löschst, nicht
abgearbeitet ist. ???:L

Wie sieht die Exception bzw. das Stacktrace aus? An welcher Stelle genau
kommt es zu der Exception?
Sicher, dass du in deinem Renderer nicht irgendwo einen Fehler übersehen hast?

Das wäre möglich, der Löschvorgang wird durch ein "Remove"-Button ausgelöst.
Ich bekomme die selektierten Zeilen durch table.getSelectedRows();.

In der actionPerformed()-Methode rufe ich die og. removeRow()-Methode mit eine Schleife auf.

Du meinst also der ActionListener steht noch in der Event-Queue drin und blockiert damit erstmal die ganzen TableEvents?
Also wird der ActionListener erst aus der EventQueue genommen wenn ich die actionPerformed()-Methode verlasse?
Wie soll ich das umgehen?
Irgendwie muß ich ja den Löschvorgang auslösen.

Der Stack-Trace ist:
java.lang.ArrayIndexOutOfBoundsException: 13 >= 3
at java.util.Vector.elementAt(Vector.java:432)
at editor.spriteeditor.SpriteTableModel.setValueAt(SpriteTableModel.java:91)
at javax.swing.JTable.setValueAt(JTable.java:1875)
at javax.swing.JTable.editingStopped(JTable.java:3333)
at editor.spriteeditor.SpriteCellEditor.fireEditingStopped(SpriteCellEditor.java:143)
at editor.spriteeditor.SpriteCellEditor.stopCellEditing(SpriteCellEditor.java:123)
at javax.swing.JTable.editCellAt(JTable.java:2616)
at javax.swing.plaf.basic.BasicTableUI$Handler.adjustFocusAndSelection(BasicTableUI.java:922)
at javax.swing.plaf.basic.BasicTableUI$Handler.mousePressed(BasicTableUI.java:889)
at java.awt.AWTEventMulticaster.mousePressed(AWTEventMulticaster.java:222)
at java.awt.Component.processMouseEvent(Component.java:5485)
at javax.swing.JComponent.processMouseEvent(JComponent.java:3126)
at java.awt.Component.processEvent(Component.java:5253)
at java.awt.Container.processEvent(Container.java:1966)
at java.awt.Component.dispatchEventImpl(Component.java:3955)
at java.awt.Container.dispatchEventImpl(Container.java:2024)
at java.awt.Component.dispatchEvent(Component.java:3803)
at java.awt.LightweightDispatcher.retargetMouseEvent(Container.java:4212)
at java.awt.LightweightDispatcher.processMouseEvent(Container.java:3889)
at java.awt.LightweightDispatcher.dispatchEvent(Container.java:3822)
at java.awt.Container.dispatchEventImpl(Container.java:2010)
at java.awt.Window.dispatchEventImpl(Window.java:1774)
at java.awt.Component.dispatchEvent(Component.java:3803)
at java.awt.EventQueue.dispatchEvent(EventQueue.java:463)
at java.awt.EventDispatchThread.pumpOneEventForHierarchy(EventDispatchThread.java:242)
at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:163)
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:157)
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:149)
at java.awt.EventDispatchThread.run(EventDispatchThread.java:110)
 
G

Guest

Gast
Kann es sein, dass Du wie folgt vorgehst?
Code:
...
rows = table.getSelectedRows();
for(int r : rows) {
  model.removeRow(r);
}
...
Nur, um diesen Fehler auszuschliessen. ;)
Nach dem ersten Löschen sind die restlichen Indizies nicht mehr gültig.

???:L
 
G

Guest

Gast
Noch was. Versuche das hier in Deinem Model.
Code:
public void removeRows(int rows[])
{
  // Sicherstellen, dass die Indizies aufsteigend sortiert sind
  Arrays.sort(rows); 
  // Aktuelle Größe holen
  int size = dataVector.size();
  // Und alle entsprechenden Zeilen rückwärts löschen
  for(int i=rows.length-1; i>=0; i--)
  {
    if(rows[i] < size)
    {
      dataVector.removeElementAt(rows[i]);
      size--;
    }
  }
  // Tabelle aktualisieren
  fireTableDataChanged();
}
 
G

Guest

Gast
Ätsch... :autsch: Ist noch nicht Idiotensicher. :wink:
Code:
public void removeRows(int rows[]) 
{ 
  int size;
  // Wenn nix zu tun, dann raus hier
  if(rows == null || (size = dataVector.size()) == 0)
    return;
  // Sicherstellen, dass die Indizies aufsteigend sortiert sind 
  Arrays.sort(rows); 
  // Und alle entsprechenden Zeilen rückwärts löschen 
  for(int i=rows.length-1; i>=0; i--) 
  { 
    if(rows[i] < size) 
    { 
      dataVector.removeElementAt(rows[i]); 
      size--; 
    } 
  } 
  // Tabelle aktualisieren, wenn etwas gelöscht wurde
  if(size != dataVector.size()) 
    fireTableDataChanged(); 
}
 

Moonlight1234

Bekanntes Mitglied
Das Array mit den selectedRows wird von mir in aufsteigender Reihenfolge sortiert und anschließend "rückwärts" gelöscht, da die Indices sich sonst verschieben.
Genau wie du das machst.
Du hattest unten firedDataChanged() geschrieben.
Ich feure für jede gelöschte Zeile ein:

Code:
    public void fireTableRowsDeleted(int firstRow, int lastRow) {
        fireTableChanged(new TableModelEvent(this, firstRow, lastRow,
                TableModelEvent.ALL_COLUMNS, TableModelEvent.DELETE));
    }

    public void fireTableChanged(TableModelEvent e) {
        Object[] listeners = listenerList.getListenerList();
        for (int i = listeners.length-2; i>=0; i-=2) {
            if (listeners[i]==TableModelListener.class) {
                ((TableModelListener)listeners[i+1]).tableChanged(e);
            }
        }
    }

Ist das korrekt?

Da der Fehler zeitabhängig ist nehme ich an es hat was mit den Events zu tun.
 
G

Guest

Gast
Wie sieht es in der Methode addTableModelListener aus?
Es ist ziemlich doof, ohne den ganzen Code zu sehen und ohne
die Möglichkeit das grosse Verrecken live zu erleben. ???:L

Wir kriegen den Fehler aber noch heraus. ;)

Übrigens, in dem Code von mir wird nur ein Event ausgelöst, wodurch
die Tabelle nur einmal aktualisiert wird. Wenn Du bei jeder Zeile ein
Update auslöst, dann macht die Tabelle eine Sliedeshow daraus
(wird unnötig oft aktualisiert).

Woher kommt eigentlich das editCellAt(...)?
 
G

Guest

Gast
Noch interessanter wäre der Code aus

editor.spriteeditor.SpriteTableModel.setValueAt(...)
 

Moonlight1234

Bekanntes Mitglied
Code:
    public synchronized void setValueAt(Object value, int row, int col) {
            String[] rowStr=dataVector.elementAt(row);
            rowStr[col]=(String)value;
            dataVector.setElementAt(rowStr, row);
            e.printStackTrace();
        fireTableCellUpdated(row, col);
    }


Die rows sind als Vector<String[]> angelegt.
Da die Anzahl der Columns fest ist, (es werden nur ganze Zeilen hinzugefügt oder gelöscht) habe ich diese als String-Array angelegt, dh. jede row enthält die columns als String-Array.
 
G

Guest

Gast
Irgendwie blicke ich da nicht ganz durch. ???:L
Knallt es direkt beim Löschen oder wenn Du anschliessend auf die
Tabelle klickst? Wenn das zweite zutrifft, ist die Tabelle zu diesem
Zeitpunkt bereits neugezeichnet?

Es ist schwierig einen Fehler zu finden, wenn man es nicht vor sich hat.
Versuche mal das hier vor dem Löschen aufzurufen.
Code:
if(table.isEditing())
  table.getCellEditor().cancelCellEditing(); // oder stopCellEditing()
(Eigentlich passiert dies automatisch, wenn die Tabelle den Focus verliert; Buttonklick)

Ansonsten auch das Löschen auf einen Schlag + 1 Event, wie oben schon gezeigt.

Du kannst den Fehler dadurch umgehen, indem Du in der Methode setValueAt(...)
den Zeilenindex prüfst.
Code:
public synchronized void setValueAt(Object value, int row, int col)
{ 
  if(row < dataVector.size())
  {
    String[] rowStr=dataVector.elementAt(row); 
    rowStr[col]=(String)value; 
    fireTableCellUpdated(row, col); 
  }
}
Es ist aber Pfuscherei, ändert nichts am Fehler selbst. Verhindert nur, dass
Dir das ganze um die Ohren fliegt. :oops:

Übrigens, die Zeile
dataVector.setElementAt(rowStr, row);
kannst Du Dir sparen, da Du eine Zeile davor in das String-Array direkt
reinschreibst. Ist aber nicht so wichtig...
 

Moonlight1234

Bekanntes Mitglied
Es liegt am Editor. Wenn ich den DefaultEditor verwende tritt das Problem nicht mehr auf.
Mittlerweile habe ich fast alles aus dem DefaultEditor herauskopiert, der Fehler tritt immer noch auf.

Ich fange den Fehler in der setValueAt-Methode jetzt ab. Ist vielleicht nicht besoders elegant, aber was solls.


Danke, für die Hilfe.
 

Mag1c

Top Contributor
Hi,

möglicherweise ist der Editor noch im Edit-Modus, wenn du die Zeilen löschst. Prüfe
das mal mit isEditing() bzw. stopCellEditing().

Es ist übrigens schwierig, mit deinen Angaben und den paar Code-Häppchen einen
Fehler zu finden. Und den Fehler mit einem catch() und dem Kommentar "was solls"
zu ignorieren, ist ganz sicher keine gute Idee.

Gruß
Mag1c
 

Moonlight1234

Bekanntes Mitglied
Hallo!

Du hast ja recht.
Ich war nur etwas gefrustet. Ich habe in den letzten Wochen die Grundlage für ein Spiel programmiert, das funktioniert problemlos.
An der JTable beisse ich mir die Zähne aus, die sollte eigentlich einfacher sein. :?

Es ist schwierig Code zu posten die Table ist Bestandteil eines Editors der mittlerweile sehr umfangreich ist.

Die Sache mit dem fireEditingStopped() vor dem löschen der Zelle hatte ich gemacht.

Ich habe jetzt das "Hauptprogramm" geändert. Dadurch kann ich die DefaultCellEditoren verwenden. So funktionierts.
Die Lösung mit einem eigenen CellEditor wäre allerdings eleganter gewesen.

Danke für dein Engagement.

PS: Ich hatte in einem anderen Thread gelesen das nicht für jede Zelle ein eigener Renderer verwendet wird, ich bin immer davon ausgegangen das jede Celle einen eigenen Editor/Renderer hat. Das war wohl mein Fehler.
Ich glaube mein Problem ist das zwischen Renderer/Model/Editor keine Verbindung besteht, bzw. die Verbindung sind wohl die Events. Ich finde es schwer zu durchschauen wer welche Werte von wem bekommt.
 

Mag1c

Top Contributor
Hi,

hehe, die Info aus dem anderen Thread kommt mir bekannt vor ;)

Im Prinzip ist das ganz einfach. Angenommen du benutzt nur einen Typ CellRenderer.
Dann geht die JTable beim Darstellen jede einzelne Zelle durch, holt sich
mit getTableCellRendererComponent(...) den fertigen CellRenderer und benutzt diesen,
um die Zelle zu zeichnen. Es wird aber nur gezeichnet, die Komponente wird
NICHT als GUI-Komponente integriert. Das funktioniert in etwa so wie ein
Stempel, bei dem man einen Text einstellen und anschließend aufs
Papier drücken kann.

Der CellEditor wird erst aktiv, wenn eine Zelle editiert werden soll. Er wird
von der JTable an der Stelle der Zelle platziert. Wird das Editieren beendet,
wird der Wert des Editors per setValueAt(...) in das TableModel geschrieben.
Anschließend wird die Zelle, da sich der Wert ja geändert hat, mit dem
Renderer neu gezeichnet.

Gruß
Mag1c
 

Moonlight1234

Bekanntes Mitglied
Mag1c hat gesagt.:
Der CellEditor wird erst aktiv, wenn eine Zelle editiert werden soll. Er wird
von der JTable an der Stelle der Zelle platziert. Wird das Editieren beendet,
wird der Wert des Editors per setValueAt(...) in das TableModel geschrieben.
Anschließend wird die Zelle, da sich der Wert ja geändert hat, mit dem
Renderer neu gezeichnet.

Mit den Events im TableModel setze ich auch die JTable darüber in Kenntnis das Zeilen gelöscht, hinzugefügt wurden?

Also wenn ich im TableModel (abgeleitet vom AbstractTableModel) die im AbstractTableModel enthaltene Methode
fireTableRowsDeleted(row, row) aufrufe (und damit den Listener aufrufe), nimmt dann auch die JTable zur Kenntniss das Zeilen gelöscht wurden?
Ich rufe ja keine Methode von JTable auf mit der ich JTable direkt darüber unterrichte das sich etwas geändert hat. Ich habe leider keine Ahnung wie die Listener untereinander kommunizieren.
 

Mag1c

Top Contributor
n Abend,

ja genau, so läuft das. Du kannst dir das in den Sourcen von JTable
in der Listener-Methode tableChanged(TableModelEvent e) anschauen.

Aber wenn du keine speziellen Wünsche hast und alles korrekt anwendest,
musst du über die Interna nicht viel wissen.

Gruß
Mag1c
 

Moonlight1234

Bekanntes Mitglied
Hallo Magi1c

Ich werde diese Tage nochmal eine einfachereTable mit eigenem Editor programmieren und schauen ob das funktioniert.

Wenn es dir recht ist komme ich dann auf dich zurrück. Evtl kann ich dann etwas Code posten.

Gruß

Moonlight
 

Moonlight1234

Bekanntes Mitglied
Ich habe mittlerweile eine andere Table programmiert, bei dieser funktioniert das löschen der Zeilen problemlos.
Ich habe bei der anderen Table nicht beachtet das nicht für jede Zelle ein Editor angelegt wird, außerdem habe ich wohl ein Event vergessen.
Ich habe allerdings den Eindruck das es bei sehr ungünstigen Bedingungen, z.B mehrere Fenster offen, mehrere Listener laufend, passieren kann das der Event welcher der JTable mitteilt das die Zeilen gelöscht wurden "hinterherhängt".
Es kommt dann zu Fehlermeldungen die sich aber meistens nicht auf das Programm auswirken, dh. das Programm läuft weiter.

Nochmals danke für die Unterstützung.
 
Status
Nicht offen für weitere Antworten.
Ähnliche Java Themen
  Titel Forum Antworten Datum
earlgrey_tea JTable Zelleninhalt beim Editieren löschen AWT, Swing, JavaFX & SWT 5
S Swing AWT-Exception bei JTable mit JComboBox beim Löschen der letzten Zeile AWT, Swing, JavaFX & SWT 3
F Swing JTable: Problem beim zeile löschen AWT, Swing, JavaFX & SWT 3
V Swing Custom JToggleButton in JTable - Click-Event geht erst beim zweiten Mal AWT, Swing, JavaFX & SWT 7
K Swing setPreferredWidth für JTable funktioniert nur beim ersten Aufruf!? AWT, Swing, JavaFX & SWT 8
M jTable - Größe beim Erzeugen AWT, Swing, JavaFX & SWT 4
L Probleme beim Refresh von JTable AWT, Swing, JavaFX & SWT 7
A Swing Delay (1-4 Sek.) bei JTable und Dialog beim ersten Ausführen AWT, Swing, JavaFX & SWT 3
T JSpinner in JTable: Problem beim Auslesen, funktioniert erst beim Zellwechsel AWT, Swing, JavaFX & SWT 7
M Swing JTable ProperyChange feuert beim Erstellen? AWT, Swing, JavaFX & SWT 6
hdi Swing JTable: Fehler beim Nutzen von RowSorter#setRowFilter AWT, Swing, JavaFX & SWT 4
hdi Swing JTable: Selektion beim Umsortieren anpassen AWT, Swing, JavaFX & SWT 7
N Swing Problem beim Einlesen von Jtable in Array AWT, Swing, JavaFX & SWT 5
G Swing JComboBox in JTable beim Aufklappen befüllen AWT, Swing, JavaFX & SWT 3
A Wie werde ich beim JTable die Selection wieder los? AWT, Swing, JavaFX & SWT 6
S Welches Event beim ändern einer Zelle in einer JTable AWT, Swing, JavaFX & SWT 4
S Welches Event beim auswählen einer Zelle? [JTable] AWT, Swing, JavaFX & SWT 3
J JCombobox in JTable klappt beim ersten Tastendruck zu AWT, Swing, JavaFX & SWT 3
X JTable "geht" erst beim 2.Klick AWT, Swing, JavaFX & SWT 2
N Die Zeile einer JTable verändert beim klicken ihre Farbe? AWT, Swing, JavaFX & SWT 7
J JTable skaliert nicht beim Fenstergroessenveraendern AWT, Swing, JavaFX & SWT 2
S jTable beim Klick auf Button aktualisieren AWT, Swing, JavaFX & SWT 7
J JTable Änderung erst beim Zeilenwechsel AWT, Swing, JavaFX & SWT 5
D JTable - Wie markiert man den Zellinhalt beim Editeren ? AWT, Swing, JavaFX & SWT 10
G Probleme beim Füllen einer JTable AWT, Swing, JavaFX & SWT 2
G JTable! Beim anklicken einer Zeile soll sich Farbe ändern! AWT, Swing, JavaFX & SWT 2
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
T Swing JTable auslesen und befüllen AWT, Swing, JavaFX & SWT 8
B JTable wird nicht angezeigt AWT, Swing, JavaFX & SWT 1
J JTable und Suchlogik AWT, Swing, JavaFX & SWT 4
Viktim Swing JTable mit Tab verlassen AWT, Swing, JavaFX & SWT 1
F Swing Spaltenbreite einer Column eines JTable auslesen AWT, Swing, JavaFX & SWT 5
Viktim Swing JTable Mit Tab druch Zeilen Wechseln AWT, Swing, JavaFX & SWT 5
Thallius Warum refrehsed mein JTable nicht? AWT, Swing, JavaFX & SWT 5
Ghostman1711 Hinzufügen ausgewählter Dateinen des Filechoosers zu einem JTable AWT, Swing, JavaFX & SWT 9
S Swing JTable - Einzelne Rows einfärben AWT, Swing, JavaFX & SWT 11
M Wert einer Zelle aus JTable ziehen AWT, Swing, JavaFX & SWT 4
K JTable getValueAt() klappt nicht immer AWT, Swing, JavaFX & SWT 1
K JTable in extra Klasse, Zugriff in einer anderen klasse nicht möglich AWT, Swing, JavaFX & SWT 26
B Swing Tabelle(JTable) filtern swing GUI AWT, Swing, JavaFX & SWT 3

Ähnliche Java Themen

Neue Themen


Oben