java.lang.IndexOutOfBoundsException JTable autoSort

osion

Bekanntes Mitglied
[FIELDSET][/FIELDSET]Hallo

Situation: Ich habe einen JTable welcher über den DefaultTableModel (Vector, Vector) eingelesen.

JTable wird erzeugt
Java:
        JScrollPane scrollPaneForFileAFolder = new JScrollPane();
        tabbedPane.addTab(Messages.getString("DestkopCleanGui.1"), null,
                scrollPaneForFileAFolder, null);


        tableForFileAFolderOverview = new JTable();
        tableForFileAFolderOverview.setRowSelectionAllowed(false);
        tableForFileAFolderOverview.setSelectionMode(ListSelectionModel.SINGLE_SELECTION);
        tableForFileAFolderOverview.setFillsViewportHeight(true);


        scrollPaneForFileAFolder.setViewportView(tableForFileAFolderOverview);
        tableForFileAFolderOverview.setModel(new DefaultTableModel(
                tableForFileAFolderOverviewDatabase,
                tableFileAFolderOverviewHead) {
            Class[] columnTypes = new Class[] { Boolean.class, Boolean.class,
                    String.class, String.class, String.class, Boolean.class,
                    Boolean.class };


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


            boolean[] columnEditables = new boolean[] { true, true, false,
                    false, false, false, false };


            public boolean isCellEditable(int row, int column) {
                return columnEditables[column];
            }
        });
        tableForFileAFolderOverview.setAutoCreateRowSorter(true);
        tableForFileAFolderOverview.getColumnModel().getColumn(0)
                .setPreferredWidth(100);
        tableForFileAFolderOverview.getColumnModel().getColumn(0)
                .setMaxWidth(999);
        tableForFileAFolderOverview.getColumnModel().getColumn(1)
                .setPreferredWidth(100);
        tableForFileAFolderOverview.getColumnModel().getColumn(1)
                .setMaxWidth(999);
        tableForFileAFolderOverview.getColumnModel().getColumn(5)
                .setPreferredWidth(100);
        tableForFileAFolderOverview.getColumnModel().getColumn(5)
                .setMaxWidth(999);
        tableForFileAFolderOverview.getColumnModel().getColumn(6)
                .setPreferredWidth(100);
        tableForFileAFolderOverview.getColumnModel().getColumn(6)
                .setMaxWidth(999);

Einlesen des Vectors

Java:
public void fillUpTableForOverview() {

        ArrayList<Vector<Object>> forDataTransfer = new ArrayList<Vector<Object>>();
        int counter = 0;
        for (TableForFileAFolderOverviewStructur data : mainGui.tableArrayListForFileAFolderOverview) {


            forDataTransfer.add(new Vector<Object>());


            // 0
            forDataTransfer.get(counter).add(data.XY1);
            // 1
            forDataTransfer.get(counter).add(data.XY2);
            // 2
            forDataTransfer.get(counter).add(data.XY3);
            // 3
            forDataTransfer.get(counter).add(data.XY4);
            // 4
            forDataTransfer.get(counter).add(data.XY5);
            // 5
            forDataTransfer.get(counter).add(data.canRead);
            // 6
            forDataTransfer.get(counter).add(data.canWrite);


            counter++;
        }
        mainGui.tableForFileAFolderOverviewDatabase.addAll(forDataTransfer);
        mainGui.tableForFileAFolderOverview.repaint();
        mainGui.tableForFileAFolderOverview.revalidate();


    }

Problem:
Das automatische Ändern von Daten geht ohne Fehlermeldung, nur über der GUI nicht.
Ist die Option für JTable sortieren ausgewählt und ich wähle über die GUI über JTabl einen Boolean wert aus, so bekomme ich den Fehler:

Exception in thread "AWT-EventQueue-0" java.lang.IndexOutOfBoundsException: Invalid range
at javax.swing.DefaultRowSorter.rowsUpdated(Unknown Source)
at javax.swing.DefaultRowSorter.rowsUpdated(Unknown Source)
at javax.swing.JTable.notifySorter(Unknown Source)
at javax.swing.JTable.sortedTableChanged(Unknown Source)
at javax.swing.JTable.tableChanged(Unknown Source)
at javax.swing.table.AbstractTableModel.fireTableChanged(Unknown Source)
at javax.swing.table.AbstractTableModel.fireTableCellUpdated(Unknown Source)
at javax.swing.table.DefaultTableModel.setValueAt(Unknown Source)
at javax.swing.JTable.setValueAt(Unknown Source)
at javax.swing.JTable.editingStopped(Unknown Source)
at javax.swing.AbstractCellEditor.fireEditingStopped(Unknown Source)
at javax.swing.DefaultCellEditor$EditorDelegate.stopCellEditing(Unknown Source)
at javax.swing.DefaultCellEditor.stopCellEditing(Unknown Source)
at javax.swing.DefaultCellEditor$EditorDelegate.actionPerformed(Unknown Source)
at javax.swing.AbstractButton.fireActionPerformed(Unknown Source)
at javax.swing.AbstractButton$Handler.actionPerformed(Unknown Source)
at javax.swing.DefaultButtonModel.fireActionPerformed(Unknown Source)
at javax.swing.JToggleButton$ToggleButtonModel.setPressed(Unknown Source)
at javax.swing.plaf.basic.BasicButtonListener.mouseReleased(Unknown Source)
at java.awt.Component.processMouseEvent(Unknown Source)
at javax.swing.JComponent.processMouseEvent(Unknown Source)
at java.awt.Component.processEvent(Unknown Source)
at java.awt.Container.processEvent(Unknown Source)
at java.awt.Component.dispatchEventImpl(Unknown Source)
at java.awt.Container.dispatchEventImpl(Unknown Source)
at java.awt.Component.dispatchEvent(Unknown Source)
at javax.swing.plaf.basic.BasicTableUI$Handler.repostEvent(Unknown Source)
at javax.swing.plaf.basic.BasicTableUI$Handler.mouseReleased(Unknown Source)
at java.awt.AWTEventMulticaster.mouseReleased(Unknown Source)
at java.awt.Component.processMouseEvent(Unknown Source)
at javax.swing.JComponent.processMouseEvent(Unknown Source)
at java.awt.Component.processEvent(Unknown Source)
at java.awt.Container.processEvent(Unknown Source)
at java.awt.Component.dispatchEventImpl(Unknown Source)
at java.awt.Container.dispatchEventImpl(Unknown Source)
at java.awt.Component.dispatchEvent(Unknown Source)
at java.awt.LightweightDispatcher.retargetMouseEvent(Unknown Source)
at java.awt.LightweightDispatcher.processMouseEvent(Unknown Source)
at java.awt.LightweightDispatcher.dispatchEvent(Unknown Source)
at java.awt.Container.dispatchEventImpl(Unknown Source)
at java.awt.Window.dispatchEventImpl(Unknown Source)
at java.awt.Component.dispatchEvent(Unknown Source)
at java.awt.EventQueue.dispatchEventImpl(Unknown Source)
at java.awt.EventQueue.access$400(Unknown Source)
at java.awt.EventQueue$3.run(Unknown Source)
at java.awt.EventQueue$3.run(Unknown Source)
at java.security.AccessController.doPrivileged(Native Method)
at java.security.ProtectionDomain$1.doIntersectionPrivilege(Unknown Source)
at java.security.ProtectionDomain$1.doIntersectionPrivilege(Unknown Source)
at java.awt.EventQueue$4.run(Unknown Source)
at java.awt.EventQueue$4.run(Unknown Source)
at java.security.AccessController.doPrivileged(Native Method)
at java.security.ProtectionDomain$1.doIntersectionPrivilege(Unknown Source)
at java.awt.EventQueue.dispatchEvent(Unknown Source)
at java.awt.EventDispatchThread.pumpOneEventForFilters(Unknown Source)
at java.awt.EventDispatchThread.pumpEventsForFilter(Unknown Source)
at java.awt.EventDispatchThread.pumpEventsForHierarchy(Unknown Source)
at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
at java.awt.EventDispatchThread.run(Unknown Source)

Frage:
1.
Liegt es an den Vector?

Danke
 
Zuletzt bearbeitet:

VfL_Freak

Top Contributor
Moin,

nein, Du hast irgendwo eine Indexverletzung bei einem Array!

Vermutlich bei "columnTyps" oder "columnEditables" ....

Sicher, dass Du den kompletten StackTrace gepostest hast?

Gruß
Klaus

BTW: was sagt denn dein Debgger ???:L
 
Zuletzt bearbeitet:

osion

Bekanntes Mitglied
Moin,

nein, Du hast irgendwo eine Indexverletzung bei einem Array!

Vermutlich bei "columnTyps" oder "columnEditables" ....

Sicher, dass Du den kompletten StackTrace gepostest hast?

Gruß
Klaus

BTW: was sagt denn dein Debgger ???:L

Der Debugger sagt:

Description Resource Path Location Type
Class is a raw type. References to generic type Class<T> should be parameterized
Class is a raw type. References to generic type Class<T> should be parameterized


Steht bei columnTyps" oder "columnEditables bei der class, aber keine Ahnung.

 

VfL_Freak

Top Contributor
Moin,

hmm, das verstehe ich jetzt nicht so ganz ... das kommt von Debugger ??
In welcher Zeile denn wohl ???
:bahnhof:


Dein Fehler
Java:
[COLOR=#ff0000]Exception in thread "AWT-EventQueue-0" java.lang.IndexOutOfBoundsException: Invalid range
[/COLOR]
spricht aber nun mal von einer IOB mit einer ungültigen Positionsangabe ....
IndexOutOfBoundsException (Java Platform SE 7 )

Wüsste nicht, wie ich die mit Generics zusammen bringen sollte :noe:

Gruß
Klaus
 

osion

Bekanntes Mitglied
Moin,

hmm, das verstehe ich jetzt nicht so ganz ... das kommt von Debugger ??
In welcher Zeile denn wohl ???
:bahnhof:


Dein Fehler
Java:
[COLOR=#ff0000]Exception in thread "AWT-EventQueue-0" java.lang.IndexOutOfBoundsException: Invalid range
[/COLOR]
spricht aber nun mal von einer IOB mit einer ungültigen Positionsangabe ....
IndexOutOfBoundsException (Java Platform SE 7 )

Wüsste nicht, wie ich die mit Generics zusammen bringen sollte :noe:

Gruß
Klaus

Das mit den Generics stand im Debugger unte Warnings, aber dort steht auch wenn ein Import nicht gebraucht, war halt der einzige Ort wo nicht stand.

Die Frage ist doch:
Wenn ich das Programm starte die Daten automatisch einlese (Object File in java) und direkt auf nen Wert klicke, warum habe ich eine Fehlermeldung wenn ich .setAutoCreateRowSorte auf true habe, aber keinen wenn es auf false ist.

Wenn der Datentyp falsch wäre oder ausserhalb der size, so müsste auch das automatische einlesen am Anfang falsch laufen und auch wenn der Wert auf false wäre müsste es einen Fehler geben richtig?

Ich frage mich ob es überhaut möglich ist, mit den Standart (ohne was selber zu schreibe) ein Vector mit sort JTable zu haben
 
Zuletzt bearbeitet:

osion

Bekanntes Mitglied
Ich habe das Problem gefunden.

Wenn ich es richtig verstehe, erstellt man bei RowSorter eine zweite Datenbank die aber auch die Referenz gespeichert hat, wo sich der Eintrag bei der Datenbank wirklich befindet.

Das Problem ist, dass er bei .setAutoCreateRowSorter(true) wohl die Datenbank schon mit der Anzahl Size erstellt.

Wenn ich nach dem alle Einträge gescant wurden und in die Datenbank eingetragen .setAutoCreateRowSorter(true) setzte so gehts.

Ich kann auch bei jedem neuen Eintrag .setAutoCreateRowSorter(true).
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
H java.lang.IndexOutOfBoundsException bei verschachtelter ArrayList Java Basics - Anfänger-Themen 9
K Fehlermeldung: java.lang.IndexOutOfBoundsException: Index: 1, Size: 1 Java Basics - Anfänger-Themen 4
M java.lang.IndexOutOfBoundsException weiß nicht warum Java Basics - Anfänger-Themen 8
Rookar java.lang.NoClassDefFoundError: org/json/JSONException Java Basics - Anfänger-Themen 2
F TableModelListener: java.lang.ArrayIndexOutOfBoundsException: 132 Java Basics - Anfänger-Themen 3
F Exception in thread "main" java.lang.ArrayIndexOutOfBoundsException: 11 at main.main(main.java:11) Java Basics - Anfänger-Themen 2
O Exception in thread "main" java.lang.ArithmeticException: / by zero Java Basics - Anfänger-Themen 4
JaVaN0oB java.lang.ArrayIndexOutOfBoundsException Java Basics - Anfänger-Themen 18
F Fehlermeldung java.lang.NullPointerException Java Basics - Anfänger-Themen 4
D java.lang.NullPointerException Java Basics - Anfänger-Themen 19
X java.lang.NullPointerException fehler ? Java Basics - Anfänger-Themen 1
R Exception in thread "main" java.lang.ArrayIndexOutOfBoundsException Java Basics - Anfänger-Themen 5
S Compiler-Fehler Exception in thread "main" java.lang.Error: Unresolved compilation problem: Java Basics - Anfänger-Themen 6
B java.lang.NullPointerException bei javafx Java Basics - Anfänger-Themen 10
H JUnit in Eclipse: java.lang.NoClassDefFoundError: Java Basics - Anfänger-Themen 9
I Compiler-Fehler Exception in thread "main" java.lang.ArrayIndexOutOfBoundsException: 5 Java Basics - Anfänger-Themen 3
B java.lang.ArithmeticException: / by zero Java Basics - Anfänger-Themen 3
P java.lang.ClassCastException Bedeutung und Lösung Java Basics - Anfänger-Themen 3
J Erste Schritte java.lang.NoClassDefFoundError Java Basics - Anfänger-Themen 4
I java.lang.ArrayIndexOutOfBoundsException at lösung.main Java Basics - Anfänger-Themen 3
R Exception in thread "main" java.lang.NullPointerException Java Basics - Anfänger-Themen 10
T Compiler-Fehler java.lang.ArithmeticException: / by zero Java Basics - Anfänger-Themen 2
R java.lang.ArrayIndexOutOfBoundsException: 0 Rechner Error Java Basics - Anfänger-Themen 4
D Erste Schritte Java.lang.NullPointer.Exception Java Basics - Anfänger-Themen 8
H java.lang.NullPointerException Java Basics - Anfänger-Themen 4
G java.lang.NullPointerException Java Basics - Anfänger-Themen 3
C Compiler-Fehler Exception in thread "main" java.lang.ArrayIndexOutOfBoundsException: 2 Java Basics - Anfänger-Themen 3
N jodaTime java.lang.IllegalArgumentException: Invalid format Java Basics - Anfänger-Themen 3
E Compiler-Fehler java.lang.NullPointerException Java Basics - Anfänger-Themen 2
F Erste Schritte java.lang.StringIndexOutOfBoundsException Java Basics - Anfänger-Themen 3
J java.lang.NullPointerException in meiner JavaFXControllerKlasse Java Basics - Anfänger-Themen 26
R java.lang.StringIndexOutOfBoundsException Java Basics - Anfänger-Themen 1
D Communications link failure | java.lang.NullPointerException Java Basics - Anfänger-Themen 3
V java.lang.ArrayIndexOutOfBoundsException Java Basics - Anfänger-Themen 2
H java.lang.NoClassDefFoundError Run as>> Run on Server Java Basics - Anfänger-Themen 2
F java.lang.NullPointerException, kann aber nicht sein! Java Basics - Anfänger-Themen 4
L Fehler: Exception in thread "main" java.lang.ArrayIndexOutOfBoundsException Java Basics - Anfänger-Themen 4
S Java memory fehler: Exception in thread "AWT-EventQueue-0" java.lang.OutOfMemoryError: Java heap spa Java Basics - Anfänger-Themen 5
M java.lang.Enum.valueOf(Unknown Source) Java Basics - Anfänger-Themen 2
L Compiler-Fehler Problem beim Programmieren eines Kalenders (java.lang.ArrayIndexOutOfBoundsException) Java Basics - Anfänger-Themen 2
A Code läuft nicht, Fehlermeldung Exception in thread "main" java.lang.Error: Unresolved compilation " Java Basics - Anfänger-Themen 11
P Exception in thread "main" java.lang.NoClassDefFoundError: Java Basics - Anfänger-Themen 1
C Hilfe!!! java.lang.ClassCastException Java Basics - Anfänger-Themen 1
M Compiler-Fehler Java suckt - java.lang.NullPointerException Java Basics - Anfänger-Themen 12
W Methoden Rückgabedatentyp java.util.Map<java.lang.String,? extends ...> Java Basics - Anfänger-Themen 4
L Compiler-Fehler Exception in thread "main" java.lang.NullPointerException Java Basics - Anfänger-Themen 2
F Exception in thread main java.lang.StackOverflowError Java Basics - Anfänger-Themen 3
K Caused by: java.lang.NoClassDefFoundError: org/mindrot/jbcrypt/BCrypt Java Basics - Anfänger-Themen 0
S java.lang.NullPointerException Java Basics - Anfänger-Themen 4
G Compiler-Fehler java.lang.NullPointerException Java Basics - Anfänger-Themen 4
OnDemand java.lang.reflect.InvocationTargetException Java Basics - Anfänger-Themen 9
A Compiler-Fehler Exception in thread "main" java.lang.NullPointerException Java Basics - Anfänger-Themen 7
J Klassen java.lang.String - lexikographisches Sortieren Java Basics - Anfänger-Themen 5
P Interpreter-Fehler java.lang.NullPointerException Java Basics - Anfänger-Themen 3
T Erste Schritte import java.lang.System.out Java Basics - Anfänger-Themen 4
T Problem mit Eclipse? Exception in thread "main" java.lang.NullPointerException Java Basics - Anfänger-Themen 4
H Classpath java.lang.NoClassDefFoundError externe Libary Java Basics - Anfänger-Themen 4
M Exception in thread "main" java.lang.NoClassDefFoundError: MeineKlasse Java Basics - Anfänger-Themen 12
X Applet Fehler: java.lang.reflect.InvocationTargetException Java Basics - Anfänger-Themen 45
B java.lang.ArrayIndexOutOfBoundsException Java Basics - Anfänger-Themen 4
K Date cannot be cast to java.lang.Integer Java Basics - Anfänger-Themen 4
S Fehler: "java.lang.NullPointerException" Java Basics - Anfänger-Themen 6
V java.lang.NoSuchMethodError Java Basics - Anfänger-Themen 2
J java.lang.math asin() Java Basics - Anfänger-Themen 18
I Erste Schritte Ausführfehler: java.lang.NullPointerException Java Basics - Anfänger-Themen 3
R Compiler-Fehler java.lang.ArrayIndexOutOfBoundsException, warum? Java Basics - Anfänger-Themen 6
K Error: java.lang.NoSuchMethodException Java Basics - Anfänger-Themen 2
M Compiler-Fehler Fehler Meldung java.lang.NumberFormatException: empty String Java Basics - Anfänger-Themen 2
G java.lang.ClassNotFoundException Java Basics - Anfänger-Themen 4
1 Exception in thread "AWT-EventQueue-0" java.lang.NullPointerException Java Basics - Anfänger-Themen 5
S Exception in thread "main" java.lang.NullPointerException Java Basics - Anfänger-Themen 11
S String index out of range: 8 at java.lang.String.substring(Unknown Source) Java Basics - Anfänger-Themen 13
V [Greenfoot] java.lang.NullPointerException Java Basics - Anfänger-Themen 12
S Compiler-Fehler java.lang.NullPointerException Java Basics - Anfänger-Themen 10
X Interpreter-Fehler "java.lang.NullPionterException: null" bei BlueJ Java Basics - Anfänger-Themen 10
P java.lang.ClassCastException Java Basics - Anfänger-Themen 2
D java.lang.NoSuchMethodError: main Java Basics - Anfänger-Themen 11
S expected java.lang.string but found char Java Basics - Anfänger-Themen 5
S Umgebungsvariable Exception in thread "main" java.lang.UnsatisfiedLinkError: no J3D in java.librar y.path Java Basics - Anfänger-Themen 15
S Compiler-Fehler java.lang.SecurityException: Invalid signature file digest for Manifest main attributes Java Basics - Anfänger-Themen 5
M Klassen Exception in thread "main" java.lang.NoClassDefFoundError: Java Basics - Anfänger-Themen 2
A Compiler-Fehler unreported exception java.lang.Exception; must be caught or declared to be thrown Java Basics - Anfänger-Themen 7
M Datentypen java.util.Arrays$ArrayList cannot be cast to [Ljava.lang.String; Java Basics - Anfänger-Themen 11
J java.lang.NullPointerException Java Basics - Anfänger-Themen 18
K Interpreter-Fehler java.lang.NullPointerException Java Basics - Anfänger-Themen 6
F Ich kenn mich nicht mehr aus - 'java.lang.NoSuchMethodError: main' in Applet? Java Basics - Anfänger-Themen 2
K OOP java.lang.NullPointerException Java Basics - Anfänger-Themen 2
N iText PDF Fehler, java.lang.ClassNotFoundException: com.lowagie.text.Phrase Java Basics - Anfänger-Themen 7
M java.lang.NumberFormatException-Problem Java Basics - Anfänger-Themen 6
H java.lang.NoSuchMethodError: Java Basics - Anfänger-Themen 5
J java.lang.UnsatisfiedLinkError: Java Basics - Anfänger-Themen 9
T List in java.lang.Object... einfügen Java Basics - Anfänger-Themen 12
M java.lang.StringTokenizer Java Basics - Anfänger-Themen 4
I java.lang.String cannot be cast to OBJEKT Java Basics - Anfänger-Themen 8
P java.lang.NoClassDefFoundError: org/slf4j/LoggerFactory Java Basics - Anfänger-Themen 1
Y java.lang.NoSuchMethodError: main Java Basics - Anfänger-Themen 9
B Exception in thread "main" java.lang.NullPointerException Fehler Hilfe! Java Basics - Anfänger-Themen 4
D java.lang.outofmemoryerror java heap space bei Hashtable Java Basics - Anfänger-Themen 3
Spin Exception in thread "AWT-EventQueue-0" java.lang.IllegalArgumentException: data must Java Basics - Anfänger-Themen 10
S Fehlermeldung: java.lang.NullPointerException Java Basics - Anfänger-Themen 10

Ähnliche Java Themen

Neue Themen


Oben