Swing Exception beim Füllen einer Tabelle

Airwolf89

Aktives Mitglied
Hallo Leute,

ich befülle mit einer Methode mehrere Tabellen. Die Methode an sich läuft auch fehlerfrei durch. Aber dann bekomme ich an nem anderen Punkt eine Exception:

Code:
Exception in thread "AWT-EventQueue-0" java.lang.IllegalArgumentException: Cannot format given Object as a Number

Woran könnte das liegen? Ich befülle die Zellen mit Strings aus einer ArrayList<ArrayList>.
Der Fehler tritt auf nach dem irgendein Thread geschlossen wurde, soweit ich das im debugging verfolgen konnte. Was das für einer war kann ich jetzt leider nicht sagen, kein Durchblick.

Was könnten da mögliche Ursachen sein? Dachte erst dass er mit irgendwelchen Zeichen Probleme kriegt, aber müsste er dann nicht schon in meiner Methode nen Fehler werfen? Passiert erst etliche Schritte nachdem meine Methode aufgerufen wurde, selbst die Methode für den Eventhandler wurde schon lange verlassen.

Danke im voraus.
 

KrokoDiehl

Top Contributor
*ins Blaue schieß*
Es könnte sein, dass eines deiner Tabellenmodelle bei der Methode
Code:
getColumnClass(int)
Code:
Number.class
zurück gibt, aber der tatsächliche Wert aus
Code:
getValueAt(int, int)
keine Number ist. Sprich er erwartet eine Nummer, kriegt aber etwas anderes (zB einen String).
 

Airwolf89

Aktives Mitglied
Hmm, ja ich weiß dass die Infos recht dürftig sind, aber was soll ich machen, meine Methode hat keinen Fehler, zumindest wirft sie keine Exception, von daher weiß ich ja auch nicht an welcher Stelle das passiert.

Hier mal trotzdem meine Methode:

Java:
this.conn = conn;
        int currentRow = 0;
        int lastIndex = -1;

        tables.add(Tbl_CPU);
        tables.add(Tbl_mobo);
        tables.add(Tbl_gpu);
        tables.add(Tbl_ram);
        tables.add(Tbl_nt);
        tables.add(Tbl_hdd);
        tables.add(Tbl_drv);
        tables.add(Tbl_case);
        tables.add(Tbl_cool);
        tables.add(Tbl_nic);
        tables.add(Tbl_sndcard);
        tables.add(Tbl_monitor);


        query = "Select MatNr from beztab where OrderID = " + OrdID;
        result = conn.lesen(query);
        matNrs = result;

        for (int i = 0; i < matNrs.size(); i++) {
            index = (Integer.parseInt((String) matNrs.get(i).get(0)) / 1000) - 11;
            query = "Select MatNr, MatBez, Price from " + tabNames[index] + " where matNr = " + matNrs.get(i).get(0);
            result = conn.lesen(query);

            if (index == lastIndex) {
                currentRow++;
            } else {
                currentRow = 0;
            }

            for (int j = 0; j < result.get(0).size(); j++) {
                tables.get(index).setValueAt(result.get(0).get(j), currentRow, j);
            }

            lastIndex = index;
        }

SetValueAt erwartet ja 3 Argumente, ein Object und 2 integer. Als Object kann ich ja alles übergeben, oder? Als Ergbenis kommen jeweils eine ganze Zahl, ein text aus Buchstaben, Sonderzeichen und Zahlen und eine Dezimalzahl mit 2 Nachkommastellen.
Werden vorerst aber als String interpretiert. result ist eine zweidimensionale ArrayList<String>. Vorher hatte ich das noch explizit in einen String umgewandelt, machte aber keinen Unterschied.

Irgendwer eine Idee?
 
S

SlaterB

Gast
dein Code enthält wenig von der Konfiguration der JTable, um die es augenscheinlich geht,
irgendwo steht 'zeige Spalte i als Nummer an', das ist das Problem, zumindest im Zusammenhang mit dem Befüllen von Nicht-Nummern-Werten
 

Airwolf89

Aktives Mitglied
In der Klasse EventDispatchThread

In der Methode run()

Java:
public void run() {
	try {
	    pumpEvents(new Conditional() {
		public boolean evaluate() {
		    return true;
		}
	    });	    
	} finally {
	    /*
	     * This synchronized block is to secure that the event dispatch 
	     * thread won't die in the middle of posting a new event to the
	     * associated event queue. It is important because we notify
	     * that the event dispatch thread is busy after posting a new event
	     * to its queue, so the EventQueue.dispatchThread reference must
	     * be valid at that point.
	     */
	    synchronized (theQueue) {
                if (theQueue.getDispatchThread() == this) {
                    theQueue.detachDispatchThread();
                }
                /*
                 * Event dispatch thread dies in case of an uncaught exception. 
                 * A new event dispatch thread for this queue will be started
                 * only if a new event is posted to it. In case if no more
                 * events are posted after this thread died all events that 
                 * currently are in the queue will never be dispatched.
                 */
                /*
                 * Fix for 4648733. Check both the associated java event
                 * queue and the PostEventQueue.
                 */
                if (theQueue.peekEvent() != null || 
                    !SunToolkit.isPostEventQueueEmpty()) { 
                    theQueue.initDispatchThread();
                }
		AWTAutoShutdown.getInstance().notifyThreadFree(this);
	    }
	}
    }

Nach dem letzten befehl, also
Code:
AWTAutoShutdown.getInstance().notifyThreadFree(this);
dann rennt er in die Klasse Thread und kommt zu dieser methode:

Java:
private void dispatchUncaughtException(Throwable e) {
        getUncaughtExceptionHandler().uncaughtException(this, e);
    }

Dann knallt's. Hilft das?
 

Airwolf89

Aktives Mitglied
Hier mal die gesamte Exception falls das hilft:

Code:
Exception in thread "AWT-EventQueue-0" java.lang.IllegalArgumentException: Cannot format given Object as a Number
        at java.text.DecimalFormat.format(DecimalFormat.java:487)
        at java.text.Format.format(Format.java:140)
        at javax.swing.plaf.synth.SynthTableUI$SynthTableCellRenderer.configureValue(SynthTableUI.java:737)
        at javax.swing.plaf.synth.SynthTableUI$SynthTableCellRenderer.getTableCellRendererComponent(SynthTableUI.java:724)
        at javax.swing.JTable.prepareRenderer(JTable.java:5719)
        at javax.swing.plaf.synth.SynthTableUI.paintCell(SynthTableUI.java:622)
        at javax.swing.plaf.synth.SynthTableUI.paintCells(SynthTableUI.java:519)
        at javax.swing.plaf.synth.SynthTableUI.paint(SynthTableUI.java:308)
        at javax.swing.plaf.synth.SynthTableUI.update(SynthTableUI.java:234)
        at javax.swing.JComponent.paintComponent(JComponent.java:752)
        at javax.swing.JComponent.paint(JComponent.java:1029)
        at javax.swing.JComponent.paintChildren(JComponent.java:862)
        at javax.swing.JComponent.paint(JComponent.java:1038)
        at javax.swing.JViewport.paint(JViewport.java:747)
        at javax.swing.JComponent.paintChildren(JComponent.java:862)
        at javax.swing.JComponent.paint(JComponent.java:1038)
        at javax.swing.JComponent.paintChildren(JComponent.java:862)
        at javax.swing.JComponent.paint(JComponent.java:1038)
        at javax.swing.JComponent.paintChildren(JComponent.java:862)
        at javax.swing.JComponent.paint(JComponent.java:1038)
        at javax.swing.JViewport.paint(JViewport.java:747)
        at javax.swing.JComponent.paintChildren(JComponent.java:862)
        at javax.swing.JComponent.paint(JComponent.java:1038)
        at javax.swing.JComponent.paintChildren(JComponent.java:862)
        at javax.swing.JComponent.paint(JComponent.java:1038)
        at javax.swing.JComponent.paintChildren(JComponent.java:862)
        at javax.swing.JComponent.paint(JComponent.java:1038)
        at javax.swing.JLayeredPane.paint(JLayeredPane.java:567)
        at javax.swing.JComponent.paintChildren(JComponent.java:862)
        at javax.swing.JComponent.paintToOffscreen(JComponent.java:5131)
        at javax.swing.BufferStrategyPaintManager.paint(BufferStrategyPaintManager.java:278)
        at javax.swing.RepaintManager.paint(RepaintManager.java:1224)
        at javax.swing.JComponent.paint(JComponent.java:1015)
        at java.awt.GraphicsCallback$PaintCallback.run(GraphicsCallback.java:21)
        at sun.awt.SunGraphicsCallback.runOneComponent(SunGraphicsCallback.java:60)
        at sun.awt.SunGraphicsCallback.runComponents(SunGraphicsCallback.java:97)
        at java.awt.Container.paint(Container.java:1780)
        at java.awt.Window.paint(Window.java:3375)
        at javax.swing.RepaintManager.paintDirtyRegions(RepaintManager.java:796)
        at javax.swing.RepaintManager.paintDirtyRegions(RepaintManager.java:713)
        at javax.swing.RepaintManager.seqPaintDirtyRegions(RepaintManager.java:693)
        at javax.swing.SystemEventQueueUtilities$ComponentWorkRequest.run(SystemEventQueueUtilities.java:125)
        at java.awt.event.InvocationEvent.dispatch(InvocationEvent.java:209)
        at java.awt.EventQueue.dispatchEvent(EventQueue.java:597)
        at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:269)
        at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:184)
        at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:174)
        at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:169)
        at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:161)
        at java.awt.EventDispatchThread.run(EventDispatchThread.java:122)
 

Airwolf89

Aktives Mitglied
So, hier mal das zeug was in die Tabellen soll.

Tbl_CPU
11000 | AMD Athlon II X4 630 | 95.90

Tbl_mobo
12001 | GA-790FXTA-UD5 | 179.90

Tbl_gpu
13002 | Asus EAH4850/2DI | 119.90

Tbl_ram
14001 | KVR1066D3N7/2G | 219.90

Tbl_nt
15001 | Signature 650 | 169.90

Tbl_hdd
16002 | HUA722020ALA330 | 279.00

Tbl_drv
17007 | SH-S223L | 21.99

Tbl_case
18001 | Economy-Edition | 39.99

Tbl_cool
19003 | Scythe Mugen 2 Rev.B SCMG-2100 | 37.99
19007 | Aerocool RS12 Carbon Fiber | 9.99
19007 | Aerocool RS12 Carbon Fiber | 9.99

Tbl_nic
20001 | Intel® PRO/1000 GT Desktop Adapter | 25.99

Tbl_sndcard
21002 | SoundBlaster Audigy SE OEM | 21.49

Tbl_monitor
22002 | SyncMaster 2494HS | 217.90

Hoffe das wird jetzt nicht als Werbung gewertet^^

Ihr seht, alles nichts exotisches...

EDIT: Habe gerade das R entdeckt, mal schauen obs das war....
Editus Maximus: Nein, das wars auch nicht, hab das Teil gelöscht, immernoch selbe Exception.
 

Airwolf89

Aktives Mitglied
Gutes Stichwort, vielen dank. Ich habe mich gewundert warum das nicht klappt obwohl die daten ja bereits in anderen Tabellen angezeigt werden (also in meiner GUI). Allerdings habe ich da vorher jedes Mal das TableModel neu gesetzt. Hatte nicht gedacht dass das hier nötig sei, ist es aber. Ich setze jetzt das Model vorher neu auf DefautlTableModel und nun funktioniert es ohne Probleme.

Warum muss das Model denn vorher immer neu gesetzt werden? Wenn ich das mit dem GUIBuilder setze und da schon nen Model definiere, warum muss ich das im Code nochmal machen? Gibt's dafür nen nachvollziehbaren Grund?

Aber erstmal vielen Dank an alle.
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
J ObservableList wirft exception beim zweiten füllen. AWT, Swing, JavaFX & SWT 4
W Nullpointer Exception beim übertragen von Daten von Scene zu Scene AWT, Swing, JavaFX & SWT 6
J Exception beim JFrame erstellen AWT, Swing, JavaFX & SWT 6
L Java FX Exception beim start AWT, Swing, JavaFX & SWT 2
S NullPointer Exception beim Laden von Bildern AWT, Swing, JavaFX & SWT 11
S Swing AWT-Exception bei JTable mit JComboBox beim Löschen der letzten Zeile AWT, Swing, JavaFX & SWT 3
O Probleme beim Zeichnen und AWT-Event-Queue-0 Exception AWT, Swing, JavaFX & SWT 5
A Exception beim LineWrapping AWT, Swing, JavaFX & SWT 16
A Null pointer exception beim Neuzeichnen AWT, Swing, JavaFX & SWT 4
H Exception: java.lang.ClassCastException AWT, Swing, JavaFX & SWT 2
M Seltsame Exception bei setVisible(true) Methode in einem JFrame AWT, Swing, JavaFX & SWT 2
T Exception in thread "main" java.lang.NoClassDefFoundError AWT, Swing, JavaFX & SWT 4
G Exception javafx Thread -> caused by removing children while in EventHandler AWT, Swing, JavaFX & SWT 28
beli3ver JavaFX Anwendung startet nicht, kann den Fehler nicht finden (Exception in Application start method) AWT, Swing, JavaFX & SWT 1
Z JavaFX Exception in Application start method AWT, Swing, JavaFX & SWT 2
J "Exception in thread "AWT-EventQueue-0"" Fehler AWT, Swing, JavaFX & SWT 3
B JavaFX Warum wird hier eine NullPointer-Exception geworfen? AWT, Swing, JavaFX & SWT 7
R AWT no such child Exception AWT, Swing, JavaFX & SWT 7
L JavaFX Exception nach includieren einer fxml // nested controller AWT, Swing, JavaFX & SWT 1
A Swing Exception in thread "AWT-EventQueue-0" AWT, Swing, JavaFX & SWT 1
W JavaFX Warum kriege ich eine Exception? AWT, Swing, JavaFX & SWT 23
S JavaFX Exception in thread "JavaFX Application Thread" AWT, Swing, JavaFX & SWT 3
L JavaFX JavaFX stürtzt durch einen Server#connect Exception AWT, Swing, JavaFX & SWT 3
ralfb1105 JavaFX Exception Message von Model Class via Controller in View darstellen AWT, Swing, JavaFX & SWT 39
S java.fxml.load.exception und keine automatische Aktualliseriung der Mainausgabe AWT, Swing, JavaFX & SWT 5
VfL_Freak AWT Exception in der Eventqueue AWT, Swing, JavaFX & SWT 8
A Swing Null Pointer Exception obwohl Objekt initialisiert AWT, Swing, JavaFX & SWT 21
X Exception in thread "AWT-EventQueue-0" java.lang.ArrayIndexOutOfBoundsException: -1 AWT, Swing, JavaFX & SWT 6
H JavaFX Ein View vorschalten Exception AWT, Swing, JavaFX & SWT 7
Q "AWT-EventQueue-0" Exception Problem AWT, Swing, JavaFX & SWT 4
M 3D-Grafik Mac Java 3D in Eclipse Exception AWT, Swing, JavaFX & SWT 0
L exception in thread awt-eventqueue-0 java.lang.nullpointerexception AWT, Swing, JavaFX & SWT 2
I Opencv Imgproc.floodfill exception AWT, Swing, JavaFX & SWT 1
S Swing Exception in thread "AWT-EventQueue-0" bei Jlabel AWT, Swing, JavaFX & SWT 4
T Gui Exception AWT, Swing, JavaFX & SWT 2
X Auf Fensterklasse zugreifen (Nullpointer Exception) AWT, Swing, JavaFX & SWT 2
M Threads - nicht erklärbare Exception AWT, Swing, JavaFX & SWT 6
M Bilder zeichnen, NullPointer Exception AWT, Swing, JavaFX & SWT 3
J Einträge aus Table löschen ohne Exception AWT, Swing, JavaFX & SWT 6
C Event Handling Exception in thread "AWT-EventQueue-0" java.lang.ClassCastException AWT, Swing, JavaFX & SWT 43
V Swing Nullpointer Exception bei JFormattedTextField AWT, Swing, JavaFX & SWT 4
N Swing Exception: Comparison method violates its general contract! AWT, Swing, JavaFX & SWT 13
S Exception bei BufferStrategy AWT, Swing, JavaFX & SWT 8
H Swing Exception's und MVC AWT, Swing, JavaFX & SWT 35
R Swing Mit Swing eine throws Exception Methode öffnen AWT, Swing, JavaFX & SWT 3
M Exception in thread "Thread-3" java.lang.NullPointerException AWT, Swing, JavaFX & SWT 18
K AWT DataBuffer in DataBufferInt Exception AWT, Swing, JavaFX & SWT 2
lumo SWT Exception in thread "main" org.eclipse.swt.SWTError: No more handles AWT, Swing, JavaFX & SWT 3
O Immer Exception in AWT-EventQueue-0 AWT, Swing, JavaFX & SWT 5
F Exception in thread "AWT-EventQueue-0" java.lang.NumberFormatException: null AWT, Swing, JavaFX & SWT 5
F Swing Seltsame Exception AWT, Swing, JavaFX & SWT 5
R Swing Files auflisten (JButton, JList, Exception) AWT, Swing, JavaFX & SWT 4
V LookAndFeel Nullpoint Exception AWT, Swing, JavaFX & SWT 2
hdi SWT Zwei mal Shell öffnen = Exception AWT, Swing, JavaFX & SWT 6
N Exception Behandlung mit setDefaultUncaughtExceptionHandler, insbesondere im EventDispatcher Thread AWT, Swing, JavaFX & SWT 4
O Exception bei repaint AWT, Swing, JavaFX & SWT 3
D Bild zeichnen lassen aus array, null pointer Exception AWT, Swing, JavaFX & SWT 2
B JTable ValueChanged verursacht Exception AWT, Swing, JavaFX & SWT 3
S Exception in thread "AWT-EventQueue-0" java.lang.NullPointerException AWT, Swing, JavaFX & SWT 7
Daniel_L JTable, (Auto-)RowSorter und NullPointer-Exception AWT, Swing, JavaFX & SWT 6
M Exception in eine JTextArea anzeigen AWT, Swing, JavaFX & SWT 7
T Exception: Adding a window to a container AWT, Swing, JavaFX & SWT 14
G Kann mir jemand diese Exception erklaeren? AWT, Swing, JavaFX & SWT 8
T AWT Exception AWT, Swing, JavaFX & SWT 5
P Für mich unverständliche Exception AWT, Swing, JavaFX & SWT 3
N JList - Nullpointer Exception AWT, Swing, JavaFX & SWT 4
Lony AbstractTableModel Exception in thread "AWT-EventQueue- AWT, Swing, JavaFX & SWT 3
T Warum schmeißt das eine Exception? AWT, Swing, JavaFX & SWT 6
I EventDispatchThread Exception AWT, Swing, JavaFX & SWT 5
M Problem: "ArrayIndexOutOfBounds Exception" AWT, Swing, JavaFX & SWT 11
C Out of Bounds Exception, Array of JTextField AWT, Swing, JavaFX & SWT 6
B JTable Vector Exception bei eigenem CellEditor AWT, Swing, JavaFX & SWT 3
D Seltsame AWT-Exception AWT, Swing, JavaFX & SWT 2
M Button und Exception mit NetBeans AWT, Swing, JavaFX & SWT 3
P paint null pointer exception AWT, Swing, JavaFX & SWT 3
M Exception Meldung aus Thread an jTextField1 übergeben AWT, Swing, JavaFX & SWT 6
R DataVector bei TableModel - Class Cast Exception AWT, Swing, JavaFX & SWT 9
G Drag & Drop bzw. Data Transfer - Exception nach Drag AWT, Swing, JavaFX & SWT 1
K Exception mit "Unknown Source" AWT, Swing, JavaFX & SWT 5
Z jar-File mit SWT - Exception AWT, Swing, JavaFX & SWT 4
F Habe Problem mit dem Abfangen einer Exception AWT, Swing, JavaFX & SWT 10
V Null Pointer Exception bei JTextField setText AWT, Swing, JavaFX & SWT 25
T Programm funkt. nicht - Exception AWT, Swing, JavaFX & SWT 7
A Exception in thread "AWT-EventQueue-0" java.lang.N AWT, Swing, JavaFX & SWT 4
G Exception in JList oder JTextArea AWT, Swing, JavaFX & SWT 9
M java headless exception AWT, Swing, JavaFX & SWT 5
O Exception abfangen AWT, Swing, JavaFX & SWT 19
Juelin Problem beim Laden Controller AWT, Swing, JavaFX & SWT 2
O Swing Icon verschwindet beim Verschieben eines JLabels AWT, Swing, JavaFX & SWT 4
MartinNeuerlich Kann mir jemand, der einen Mac mit einem m1 oder m2-Chip hat, eine POM geben mit der Javafx-Fullscreen beim Mac mit m-Chip funktioniert? AWT, Swing, JavaFX & SWT 1
berserkerdq2 Wie greife ich auf ein Element zu, welches ich beim Scenebuilder erstellt habe AWT, Swing, JavaFX & SWT 10
H AWT Dialog Größe ändern - Schwarzer Inhalt beim groß ziehen AWT, Swing, JavaFX & SWT 1
L jComboBox Actionlistener wird beim erstmaligen Befüllen getriggert AWT, Swing, JavaFX & SWT 7
B Output GUI funktioniert nur beim ersten Mal richtig. AWT, Swing, JavaFX & SWT 4
A JavaFX exportierte Jar ohne beim starten die Libs hinzufügen? AWT, Swing, JavaFX & SWT 2
TheWhiteShadow JavaFX ListView Problem beim Entfernen von Elementen AWT, Swing, JavaFX & SWT 1
S Fehler beim Öffnen weiterer FXML AWT, Swing, JavaFX & SWT 11
I Probleme beim Drucken auf einen PDF-Drucker AWT, Swing, JavaFX & SWT 8
G Gui updated beim zweiten Aufruf nicht mehr AWT, Swing, JavaFX & SWT 15
K JavaFX Resizing-Problem beim BorderLayout (Center Component) beim Arbeiten mit mehreren FXMLs AWT, Swing, JavaFX & SWT 2

Ähnliche Java Themen

Neue Themen


Oben