Swing LAF unter Windows: javax.swing.DebugGraphics cannot be cast to java.awt.Graphics2D

Status
Nicht offen für weitere Antworten.

alias5000

Mitglied
Hi!
Ich schreibe derzeit an einer Swing-GUI unter Linux und Eclipse. Dort schaue ich mir das meist mit dem Metal oder GTK+ Look and Feel an. Wenn ich unter Windows jedoch z.B. die JGoodies oder sämtliche Windows/System-LAFs auswähle, bekomme ich eine Exception, die beim System-LAF z.B. so aussieht:

Java:
Exception in thread "AWT-EventQueue-0" java.lang.ClassCastException: javax.swing.DebugGraphics cannot be cast to java.awt.Graphics2D
	at com.sun.java.swing.plaf.windows.WindowsTabbedPaneUI.paintRotatedSkin(Unknown Source)
	at com.sun.java.swing.plaf.windows.WindowsTabbedPaneUI.paintContentBorder(Unknown Source)
	at javax.swing.plaf.basic.BasicTabbedPaneUI.paint(Unknown Source)
	at javax.swing.plaf.ComponentUI.update(Unknown Source)
	at javax.swing.JComponent.paintComponent(Unknown Source)
	at javax.swing.JComponent.paint(Unknown Source)
	at javax.swing.JComponent.paintChildren(Unknown Source)
	at javax.swing.JComponent.paint(Unknown Source)
	at javax.swing.JComponent.paintToOffscreen(Unknown Source)
	at javax.swing.RepaintManager$PaintManager.paintDoubleBuffered(Unknown Source)
	at javax.swing.RepaintManager$PaintManager.paint(Unknown Source)
	at javax.swing.BufferStrategyPaintManager.paint(Unknown Source)
	at javax.swing.RepaintManager.paint(Unknown Source)
	at javax.swing.JComponent._paintImmediately(Unknown Source)
	at javax.swing.JComponent.paintImmediately(Unknown Source)
	at javax.swing.RepaintManager.paintDirtyRegions(Unknown Source)
	at javax.swing.RepaintManager.paintDirtyRegions(Unknown Source)
	at javax.swing.RepaintManager.seqPaintDirtyRegions(Unknown Source)
	at javax.swing.SystemEventQueueUtilities$ComponentWorkRequest.run(Unknown Source)
	at java.awt.event.InvocationEvent.dispatch(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)

Zugewiesen wird das LAF als erstes nach "super();" im Konstruktor der Fensterklasse:
Java:
	public MainWindow() {
		super();
		{
		//Set Look & Feel
		try {
			javax.swing.UIManager.setLookAndFeel(javax.swing.UIManager.getSystemLookAndFeelClassName());
		} catch(Exception e) {
			e.printStackTrace();
		}
	}
initGUI();
	}

Die GUI selbst wird gar nicht bzw. nur teilweise gemalt. Stattdessen sind Fragmente von darunterliegenden Komponenten sichtbar, oder es wird alles verwischt.

Woran liegt das Problem und wie bekomme ich es los, so dass ich auch die schönen Windows-LAFs nutzen kann?

Viele Grüße
alias5000
 

alias5000

Mitglied
keiner eine Idee?

Edit: Wichtig! Das Problem existiert nur unter Windows (getestet unter Windows XP), Linux (KDE) frisst alles ohne Probleme
 
Zuletzt bearbeitet:

Ebenius

Top Contributor
Wird eventuell ein Synchronisierungs-Problem sein. Bau's mal so auf:

Java:
  public MainWindow() {
        super();
        initGUI();
  }

  public static void main(String[] args) {
        //Set Look & Feel
        try {
            javax.swing.UIManager.setLookAndFeel(javax.swing.UIManager.getSystemLookAndFeelClassName());
        } catch(Exception e) {
            e.printStackTrace();
        }

        SwingUtilities.invokeLater(new Runnable() {
            public void run() {
                new MainWindow(); // oder wie immer die Initialisierung ausschaut
            }
        });
  }
Ebenius
 

alias5000

Mitglied
Hi Ebenius,
damit kommen schon keine Exceptions mehr. Leider wird die Form in jedem Fall mit dem "Metal" LaF gezeichnet.
Bisher noch keine weiteren Ideen gehabt

Gruß
alias5000
 

alias5000

Mitglied
Das Problem hat sich geklärt:
Ein darin verwendetes SplitPanel hatte die Option Double_Buffered gesetzt. Ich habe sie jetzt herausgenommen und schon funktionierts.

Gruß
alias5000
 

rotkaeppchen

Neues Mitglied
Also bei mir ist das Problem sehr ähnlich.
Ich bekomme den Fehler auch genauso weg,
in dem ich DebugGraphics auf BUFFERED_OPTION setze

Bei mir betrifft es ein JScrollPane mit darauf liegender JTable

Setzte ich aber nun die JScrollPane auf BUFFERED_OPTION
is zwar die Exception weg - Allerdings wird dann meine JTable
ultra lahm beim Scrollen
(Die JTable enthält max. 3000 zeilen)
 
Status
Nicht offen für weitere Antworten.
Ähnliche Java Themen
  Titel Forum Antworten Datum
MiMa JavaFX JAR unter Windows ausführen schlägt fehl? AWT, Swing, JavaFX & SWT 5
T Swing DPI-Skalierung und Java 2D unter Java 11 (und Windows 10) AWT, Swing, JavaFX & SWT 2
Blender3D Meine Swing Anwendung läuft unter Windows 10 und Ubuntu aber nicht auf Windows 7 AWT, Swing, JavaFX & SWT 16
Avarion Swing JFrame unter Windows 10 kleiner ?! AWT, Swing, JavaFX & SWT 2
P Verbuggte custom JButton unter Windows AWT, Swing, JavaFX & SWT 9
R Problem mit TrayIcon unter Windows/Linux AWT, Swing, JavaFX & SWT 7
S GUI aussehen unter Windows und Linux (und Mac) AWT, Swing, JavaFX & SWT 13
A Swing Probleme unter Windows 7 AWT, Swing, JavaFX & SWT 5
F AWT MouseMotionListener e.getButton() ist immer 0 unter Linux und Windows AWT, Swing, JavaFX & SWT 6
G Quaqua unter Windows AWT, Swing, JavaFX & SWT 15
L JPanel mit Objekten selektieren wie unter Windows / Ubuntu AWT, Swing, JavaFX & SWT 4
P Swing [gelöst/erledigt] Gleicher Code läuft unterschiedlich unter Linux und Windows AWT, Swing, JavaFX & SWT 5
T JGoodies unter Windows 98 AWT, Swing, JavaFX & SWT 4
F AWT Programm unter Linux anders als unter Windows ! AWT, Swing, JavaFX & SWT 8
F Schriftarten unter Windows und Linux AWT, Swing, JavaFX & SWT 6
B Komische Darstellung unter Windows 2000 AWT, Swing, JavaFX & SWT 2
P Garfikfehler unter Windows 2000 AWT, Swing, JavaFX & SWT 3
CodingBerlin JavaFX Programm läuft nur unter Eclipse AWT, Swing, JavaFX & SWT 1
S Ich bringe Code mit JavaFX unter Apache NetBeans IDE 12.6 nicht zum laufen. AWT, Swing, JavaFX & SWT 14
U Wie funktioniert das rotieren unter 2dGraphics, also wie stelle ich z. B. 90° ein? AWT, Swing, JavaFX & SWT 1
N JavaFX Installation unter IntelliJ IDEA AWT, Swing, JavaFX & SWT 5
temi JavaFX Problem mit IntelliJ und JavaFx 11 unter XUbuntu AWT, Swing, JavaFX & SWT 3
B JavaFX openjfx11: intelliJ unter Ubuntu 18.10 kann nicht auflösen AWT, Swing, JavaFX & SWT 4
CptK Swing Button: ImageIcon unter den Text AWT, Swing, JavaFX & SWT 4
T Java Swing - kleines Rechteck unter dem cursor AWT, Swing, JavaFX & SWT 5
A Swing Gemaltes Bild über saveDialog speichern unter AWT, Swing, JavaFX & SWT 15
S Kein JFrame unter Mac? AWT, Swing, JavaFX & SWT 8
Blender3D Swing KeyBoardListener funktioniert nicht unter UBUNTU AWT, Swing, JavaFX & SWT 7
V Swing Button soll unter anderem Button sein AWT, Swing, JavaFX & SWT 2
L DoubleBuffering unter Swing AWT, Swing, JavaFX & SWT 0
L JavaFX Scene wechseln unter FX AWT, Swing, JavaFX & SWT 5
T ThreadPool sicher beenden unter Verwendung von swt.widgets.Display.syncExec AWT, Swing, JavaFX & SWT 1
M Layout-Probleme unter Swing AWT, Swing, JavaFX & SWT 5
M Swing Bildbearbeitung unter Java AWT, Swing, JavaFX & SWT 22
S (Swing)Vollbild anzeigen unter Linux/Mac AWT, Swing, JavaFX & SWT 6
D 2D-Grafik Rechteck befindet sich unter dem Rahmen des JFrame. AWT, Swing, JavaFX & SWT 1
T JFrame Icon unter Linux/Ubuntu AWT, Swing, JavaFX & SWT 11
S JMenu unter JPanel versteckt AWT, Swing, JavaFX & SWT 5
SexyPenny90 JLabel liegt unter meiner Turtle AWT, Swing, JavaFX & SWT 5
F LayoutManager Null-Layout unter Linux im TreeCellEditor AWT, Swing, JavaFX & SWT 3
J AWT setBackground(Color.orange) ist unter Win7 Aero nicht orange AWT, Swing, JavaFX & SWT 3
T Unter JPanel liegende Komponenten "totschalten" AWT, Swing, JavaFX & SWT 5
M Datei Speichern unter Dialog - SWT AWT, Swing, JavaFX & SWT 3
T JButtons indexiert unter NetBeans anlegen AWT, Swing, JavaFX & SWT 7
J Applet Kommunikation unter Applets AWT, Swing, JavaFX & SWT 2
I Probleme mit GWT Controls unter Firefox AWT, Swing, JavaFX & SWT 14
F AWT DnD von Dateien mit Sonderzeichen funktioniert unter Linux nicht AWT, Swing, JavaFX & SWT 3
J Swing Natives Menü unter OS X erstellen ? AWT, Swing, JavaFX & SWT 8
C Swing Kleines Programm mit SWING unter Verwendung von MVC AWT, Swing, JavaFX & SWT 5
G SWT-App läuft nicht unter OSX, unter Win aber problemlos AWT, Swing, JavaFX & SWT 3
H Y-Position mit get-/setLocation() unter Linux/Enlightement16 inkonsistent AWT, Swing, JavaFX & SWT 3
G SWT Linie unter transparentes Canvas zeichnen AWT, Swing, JavaFX & SWT 4
M KeyListener Problem unter Firefox AWT, Swing, JavaFX & SWT 2
B LaF unter KDE AWT, Swing, JavaFX & SWT 2
SuperSeppel13 Swing Fehlende Komponenten unter Mac OS X AWT, Swing, JavaFX & SWT 8
M Swing GroupLayout unter Java 1.5 AWT, Swing, JavaFX & SWT 20
M JMenu teilweise unter einer JComponent AWT, Swing, JavaFX & SWT 4
B Button identifizieren unter MouseEvent AWT, Swing, JavaFX & SWT 7
W WindowsLookAndFeel unter Mac AWT, Swing, JavaFX & SWT 5
N JDesktop unter Linux AWT, Swing, JavaFX & SWT 4
C JComboBox funktioniert nicht unter Mac OS X AWT, Swing, JavaFX & SWT 2
U Grafikkontext unter JButtons? AWT, Swing, JavaFX & SWT 5
M Probleme unter Linux AWT, Swing, JavaFX & SWT 7
E Hat Netbeans unter Linux kein Designer für Swing? AWT, Swing, JavaFX & SWT 3
D Probleme mit Java Swing unter Mac OSX AWT, Swing, JavaFX & SWT 13
F Statuszeile unter Swing AWT, Swing, JavaFX & SWT 4
P Programm terminiert nicht (unter Eclipse) AWT, Swing, JavaFX & SWT 5
V Swing: System-Look&Feel unter KDE AWT, Swing, JavaFX & SWT 3
L Problem mit "setVisible" unter LINUX AWT, Swing, JavaFX & SWT 5
gieser jToggleButton: Text unter Bild AWT, Swing, JavaFX & SWT 2
G SWT Button mit Image und ohne Rand unter Linux? AWT, Swing, JavaFX & SWT 7
M Wo bring ich die datenbankanfragen unter? AWT, Swing, JavaFX & SWT 22
G Problene mt Focus unter Swing AWT, Swing, JavaFX & SWT 7
D AWT drawString funktioniert nicht unter Linux AWT, Swing, JavaFX & SWT 7
lolkind unter JPanel eine JTable auf voller Größe anzeigen lassen? AWT, Swing, JavaFX & SWT 6
G AnfängerSWING Frage Werkzeugleiste unter dem Menu AWT, Swing, JavaFX & SWT 3
Noar IllegalComponentStateException unter Gnu/Linux AWT, Swing, JavaFX & SWT 2
T % von Komponenten unter Layoutmanager AWT, Swing, JavaFX & SWT 2
S JTable: Zeile unter MouseCursor farblich hervorheben AWT, Swing, JavaFX & SWT 2
Firefork JPopupMenu unter einem Schalter darstellen AWT, Swing, JavaFX & SWT 2
D Programm läuft unter XP aber nicht unter Knoppix AWT, Swing, JavaFX & SWT 6
ARadauer jtable drucken unter java 1.3 AWT, Swing, JavaFX & SWT 2
T Pobleme beim Druck unter Java AWT, Swing, JavaFX & SWT 2
M Keine Buttons oder sonstige Objekte in JFrame unter Linux AWT, Swing, JavaFX & SWT 4
J JSlider regaiert unter Java 1.6 nicht mehr AWT, Swing, JavaFX & SWT 7
R Drucken unter jdk 1.4 mit JTable AWT, Swing, JavaFX & SWT 11
C Thread - Beendigung unter Swing abwarten AWT, Swing, JavaFX & SWT 6
Z Wie kann ich Text unter den Textfeldern einfügen? AWT, Swing, JavaFX & SWT 3
M JDialog unter win und linux unterschiedliche größe nötig? AWT, Swing, JavaFX & SWT 4
M [SOLVED]komponenten unter einem JTabbedPane AWT, Swing, JavaFX & SWT 2
S AWT unter Gnome AWT, Swing, JavaFX & SWT 2
T Tray-Icon-Menü unter Linux AWT, Swing, JavaFX & SWT 10
J JFrame Icon unter Linux AWT, Swing, JavaFX & SWT 2
M .txt unter Verwendung von JSpinner in Textfeld schreiben AWT, Swing, JavaFX & SWT 4
H AbsoluteLayout nicht nur unter Netbeans AWT, Swing, JavaFX & SWT 5
B Graues Feld unter JComboBox AWT, Swing, JavaFX & SWT 2
I Drag and Drop funktioniert unter Linux nicht AWT, Swing, JavaFX & SWT 6
H removen unter SWT AWT, Swing, JavaFX & SWT 4
G Buttonschriftart unter SWT AWT, Swing, JavaFX & SWT 2
K g.DrawImage unter paintComponent klappt nur beim 1. Aufruf AWT, Swing, JavaFX & SWT 3

Ähnliche Java Themen

Neue Themen


Oben