Swing Java9 NullPointerException bei JComboBox

Roland13

Mitglied
Bis Java8 funktioniert die JComboBox ohne Exception.
Setze ich folgendes Look&Feel:
Code:
UIManager.setLookAndFeel(UIManager.getCrossPlatformLookAndFeelClassName());
dann erhalte ich ab Java9 folgende Exceptions:
Code:
Exception in thread "AWT-EventQueue-0" java.lang.NullPointerException
    at java.desktop/javax.swing.JComboBox.setPopupVisible(JComboBox.java:818)
    at java.desktop/javax.swing.JComboBox.hidePopup(JComboBox.java:809)
    at java.desktop/javax.swing.JComboBox$1.ancestorAdded(JComboBox.java:248)
...
Exception in thread "AWT-EventQueue-0" java.lang.NullPointerException
    at java.desktop/javax.swing.JComboBox.setSelectedItem(JComboBox.java:573)
    at java.desktop/javax.swing.JComboBox.setSelectedIndex(JComboBox.java:624)
...

Was muss man für Java 9 und höher ändern um die Swing-Comboboxen mit dem default-Style weiterverwenden zu können?
 
X

Xyz1

Gast
das UIManager.setLookAndFeel("com.sun.java.swing.plaf.motif.MotifLookAndFeel");, wenn es nicht das Metal LandF sein soll.
 

RalleYTN

Bekanntes Mitglied
Kann es sein, dass es sich einfach nur um einen Bug handelt? Vielleicht ist das ganze ja in Java 10 gefixt.
Du könntest es auch einfach mal mit
Java:
UIManager.setLookAndFeel(new MetalLookAndFeel());
versuchen.

Soweit ich weiß wird das sowieso überall als die Cross-Platform Klasse genutzt.
 

mrBrown

Super-Moderator
Mitarbeiter
Die ist nicht falsch, lies genau....

Und wo muss ich jetzt genauer lesen, damit Motif und nicht Metal das CrossPlatform L&F ist?

https://docs.oracle.com/javase/tutorial/uiswing/lookandfeel/plaf.html hat gesagt.:
CrossPlatformLookAndFeel—this is the "Java L&F" (also called "Metal") that looks the same on all platforms. It is part of the Java API (javax.swing.plaf.metal) and is the default that will be used if you do nothing in your code to set a different L&F.

https://docs.oracle.com/javase/tutorial/uiswing/lookandfeel/plaf.html hat gesagt.:
The GTK+, Motif, and Windows L&Fs are provided by Sun and shipped with the Java SDK and JRE, although they are not part of the Java API

https://docs.oracle.com/javase/tutorial/uiswing/lookandfeel/plaf.html hat gesagt.:
javax.swing.plaf.metal—the Java L&F, also known as the CrossPlatform L&F

javax/swing/UIManager.java hat gesagt.:
Java:
public static String getCrossPlatformLookAndFeelClassName() {
        String laf = AccessController.doPrivileged(
                             new GetPropertyAction("swing.crossplatformlaf"));
        if (laf != null) {
            return laf;
        }
        return "javax.swing.plaf.metal.MetalLookAndFeel";
    }
 

Roland13

Mitglied
da auf Java10 bestimmte Look&Feel die auf Java 8 noch funktioniert haben eine Exception gebracht haben und ich es deshalb ausbauen musste hab ich bei meiner ComboBox eine Prüfung auf Java8 einbauen:
Code:
private javax.swing.plaf.ComboBoxUI CboDefault=Static.bDefaultLook && Static.Java8() ? new com.sun.java.swing.plaf.windows.WindowsComboBoxUI():null;
irgendwo später hab ich vergessen auf null zu prüfen, hab es nun geändert
Code:
if (CboDefault != null)
                      setUI(CboDefault);
nun funktioniert es wieder, komischerweise war in der Exception nichts davon zu sehen
 
X

Xyz1

Gast
@mrBrown die Methode heisst zwar cross platform LandF gibt aber mit Metal LandF NICHT das cross platform LandF zurück........ und ja - das steht irewo mittig auf der Seite

@Roland13 genial wäre es wenn du einfach das machen würdest und dann ✔ oder ⍻ .
Aber wenn es so auch dann ist die Frage beantwortet wohl........
 

mrBrown

Super-Moderator
Mitarbeiter
@mrBrown die Methode heisst zwar cross platform LandF gibt aber mit Metal LandF NICHT das cross platform LandF zurück........ und ja - das steht irewo mittig auf der Seite
halten wir fest: überall steht Metal als CrossPlatform L&F, die entsprechende Methode gibt Metal zurück, Motif ist explizit nicht Teil der offiziellen API - aber du hast Recht und nicht Metal sondern Motif ist das CrossPlattform L&F, weil "das steht irewo mittig auf der Seite"?
 

Roland13

Mitglied
Ich denke das Problem in Java9 und höher sind die Sun-Klassen:
Code:
if (Static.cLook=='W')
                       UIManager.setLookAndFeel("com.sun.java.swing.plaf.windows.WindowsLookAndFeel");
                     else if (Static.cLook=='C')
                       UIManager.setLookAndFeel("com.sun.java.swing.plaf.windows.WindowsClassicLookAndFeel");
                     else if (Static.cLook=='G')
                       UIManager.setLookAndFeel("com.sun.java.swing.plaf.gtk.GTKLookAndFeel");
                     else if (Static.cLook=='M')
                       UIManager.setLookAndFeel("com.sun.java.swing.plaf.motif.MotifLookAndFeel");
                     else if (Static.cLook=='N')
                       UIManager.setLookAndFeel("com.sun.java.swing.plaf.nimbus.NimbusLookAndFeel");
Wie schon geschrieben, ist mir durch das schnelle entfernen der Look&Feel der Fehler passiert, dass ich eine Bedingung übersehen/vergessen habe, um wenn es nicht gesetzt ist nicht zu setzen.
Nun mit der Bedingung gehen auch die Comboboxen, ich denke es ist damit erledigt, danke.
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
R Swing JCTable auf Java9 anpassen AWT, Swing, JavaFX & SWT 10
_user_q Objekte vom MainController in anderen Controller verwenden und andersherum (NullPointerException) AWT, Swing, JavaFX & SWT 14
Jose05 Nullpointerexception bei toArray() AWT, Swing, JavaFX & SWT 9
Jose05 NullPointerException bei Beschreiben eines Labels aus einem Array AWT, Swing, JavaFX & SWT 12
J Java FX NullPointerException, ObservableList wird in View nicht angezeigt.. AWT, Swing, JavaFX & SWT 34
N Nur bei einem Textfiled Nullpointerexception bei getText() AWT, Swing, JavaFX & SWT 1
R NullPointerException beim Start des Fensters AWT, Swing, JavaFX & SWT 1
D JavaFX Nullpointerexception wegen TableView AWT, Swing, JavaFX & SWT 2
ZH1896ZH JavaFX kann NullPointerException nicht auflösen... :( AWT, Swing, JavaFX & SWT 3
M NullPointerException / Controller AWT, Swing, JavaFX & SWT 4
L java.lang.NullPointerException - Fehlermeldung AWT, Swing, JavaFX & SWT 2
M NullPointerException bei Übergabe eines RadioButtons AWT, Swing, JavaFX & SWT 11
zhermann NullPointerException bei Label.setText() AWT, Swing, JavaFX & SWT 5
it_is_all jLabel.setText -> Char in Str: NullpointerException AWT, Swing, JavaFX & SWT 1
D NullPointerException observableList AWT, Swing, JavaFX & SWT 4
J NullPointerException bei getText() AWT, Swing, JavaFX & SWT 3
S JavaFX NullPointerException bei Versuch ImageView zu ändern AWT, Swing, JavaFX & SWT 1
K JFileChooser NullPointerException AWT, Swing, JavaFX & SWT 7
T Swing NullPointerException beim auslesen von jTextField - Anfänger! AWT, Swing, JavaFX & SWT 3
S Swing [CLOSED] NullPointerException bei BorderLayout() AWT, Swing, JavaFX & SWT 8
G Swing NullPointerException und JXImageView AWT, Swing, JavaFX & SWT 4
L exception in thread awt-eventqueue-0 java.lang.nullpointerexception AWT, Swing, JavaFX & SWT 2
U Swing NullPointerException trotz Referenz auf Textfield & Button AWT, Swing, JavaFX & SWT 6
L NullpointerException und Probleme mit repaint() AWT, Swing, JavaFX & SWT 11
G JavaFX NullPointerException bei Zugriff auf FXML Element AWT, Swing, JavaFX & SWT 0
K JavaFX Pfad öffen NullPointerException AWT, Swing, JavaFX & SWT 4
H SWT NullPointerException bei Zugriff auf Variablen des Hauptfensters AWT, Swing, JavaFX & SWT 6
L Event Handling windowAdapter - NullPointerException beim Schließen AWT, Swing, JavaFX & SWT 5
J JTable verursacht NullPointerException.Ratlos. AWT, Swing, JavaFX & SWT 5
C JButton NullPointerException AWT, Swing, JavaFX & SWT 2
Q getGraphics() - NullPointerException AWT, Swing, JavaFX & SWT 8
C NullPointerException im MVC Muster AWT, Swing, JavaFX & SWT 9
V Nullpointerexception (etwas mit thread und jframe) AWT, Swing, JavaFX & SWT 3
M JTable Drucken NullpointerException +JTable speichern AWT, Swing, JavaFX & SWT 6
T Swing Laden eines Icons auf JButton liefert NullPointerException AWT, Swing, JavaFX & SWT 8
M Exception in thread "Thread-3" java.lang.NullPointerException AWT, Swing, JavaFX & SWT 18
C Swing NullPointerException beim Hinzufügen von Checkboxes in eine ArrayList AWT, Swing, JavaFX & SWT 5
1 JComponent -> java.lang.NullPointerException AWT, Swing, JavaFX & SWT 13
B Swing NullPointerException bei actionPerformed() AWT, Swing, JavaFX & SWT 2
E java.lang.NullPointerException AWT, Swing, JavaFX & SWT 14
R NullPointerException AWT, Swing, JavaFX & SWT 16
xehpuk Swing NullPointerException: Random-Instanz anfangs nicht initialisiert AWT, Swing, JavaFX & SWT 4
3 Swing NullPointerException in AW Event-0? AWT, Swing, JavaFX & SWT 5
C SWT NullPointerException AWT, Swing, JavaFX & SWT 12
J NullPointerException bei Benutzung vom TableCellRenderer AWT, Swing, JavaFX & SWT 3
A AWT Methodenaufruf "AWT-EventQueue-0" java.lang.NullPointerException AWT, Swing, JavaFX & SWT 4
X NullPointerException beim Einfügen einer JMenuBar AWT, Swing, JavaFX & SWT 4
B NullPointerException bei JFrame AWT, Swing, JavaFX & SWT 2
D JPanel / NullPointerException AWT, Swing, JavaFX & SWT 4
G LookAndFeel Dynamisches Einlesen von LookAndFeels - NullPointerException AWT, Swing, JavaFX & SWT 4
E Login wird durch NullPointerException abgebrochen AWT, Swing, JavaFX & SWT 10
K NullPointerException ohne CodeLink AWT, Swing, JavaFX & SWT 6
L NullPointerException JFreeChart AWT, Swing, JavaFX & SWT 10
F NullPointerException - HILFE!! AWT, Swing, JavaFX & SWT 20
martinyyyy AWT Parameter erzeugen NullpointerException obwohl sie vorhanden sind? AWT, Swing, JavaFX & SWT 4
H Swing NullPointerException in JTable bei vielen Einträgen AWT, Swing, JavaFX & SWT 2
S Exception in thread "AWT-EventQueue-0" java.lang.NullPointerException AWT, Swing, JavaFX & SWT 7
S NullPointerException bei JFileChooser AWT, Swing, JavaFX & SWT 8
X JList Probleme mit NullPointerException AWT, Swing, JavaFX & SWT 3
S NullPointerException bei Aufruf von updateUI() beim JFrame AWT, Swing, JavaFX & SWT 12
Z NullPointerException bei SplashScreen AWT, Swing, JavaFX & SWT 5
C NullPointerException bei Doppelpufferung AWT, Swing, JavaFX & SWT 3
F CardLayout.show() -> NullPointerException AWT, Swing, JavaFX & SWT 4
B NullPointerException bei String vergleich AWT, Swing, JavaFX & SWT 5
K NullPointerException bei JTextField AWT, Swing, JavaFX & SWT 8
L Problem mit "NullPointerException" bei grafischer AWT, Swing, JavaFX & SWT 3
D bei Thread in JComponent malen NullPointerException AWT, Swing, JavaFX & SWT 3
loadbrain JTextFields & java.lang.NullPointerException AWT, Swing, JavaFX & SWT 2
F JProgressBar und NullPointerException AWT, Swing, JavaFX & SWT 4
D javax.swing.Timer bringt NullPointerException AWT, Swing, JavaFX & SWT 4
R TextField bringt NullPointerException bei setVisible() AWT, Swing, JavaFX & SWT 12
A NullPointerException in einer JList AWT, Swing, JavaFX & SWT 7
F Fehler: java.lang.NullPointerException AWT, Swing, JavaFX & SWT 2
S Brauche Hilfe mit JFrame - NullPointerException AWT, Swing, JavaFX & SWT 7
A NullPointerException - warum? AWT, Swing, JavaFX & SWT 5
G NullPointerException bei Aufruf von JTabbedPane.getSelectedI AWT, Swing, JavaFX & SWT 7
G Problem mit NullPointerException AWT, Swing, JavaFX & SWT 11
M JTable verursacht NullPointerException AWT, Swing, JavaFX & SWT 8
M NullPointerException AWT, Swing, JavaFX & SWT 3
J NullPointerException bei getSelectedItem AWT, Swing, JavaFX & SWT 10
G Bekomme immer: NullPointerException AWT, Swing, JavaFX & SWT 2
hannibalstgt Fehler bei JCOMBOBOX GUI Anzeige AWT, Swing, JavaFX & SWT 2
L jComboBox Actionlistener wird beim erstmaligen Befüllen getriggert AWT, Swing, JavaFX & SWT 7
N Keylistener & JComboBox AWT, Swing, JavaFX & SWT 5
R JComboBox abfragen AWT, Swing, JavaFX & SWT 1
Esquid If Befehl bei JComboBox AWT, Swing, JavaFX & SWT 3
kodela Swing Element einer JComboBox ausgrauen AWT, Swing, JavaFX & SWT 3
D JComboBox Strings aus JTextFields zuordnen AWT, Swing, JavaFX & SWT 2
F JComboBox und Model AWT, Swing, JavaFX & SWT 10
I Editierbare JComboBox, die nur Ganzzahlen als Eingabewerte zulässt AWT, Swing, JavaFX & SWT 3
Drachenbauer Swing Wie ändere ich die Farbe der Konturen von jButton und jCombobox? AWT, Swing, JavaFX & SWT 18
Drachenbauer Swing Wie ändere ich den Hintergrund vom Anzeigefeld einer JComboBox, die nicht zum Hineinschreiben offen steht? AWT, Swing, JavaFX & SWT 32
Hatsi09 JCombobox default wert AWT, Swing, JavaFX & SWT 6
D Swing JCombobox Aktion löscht Grafik AWT, Swing, JavaFX & SWT 1
cezary Choice, JComboBox oder JList AWT, Swing, JavaFX & SWT 5
ralfb1105 Swing JComboBox update der Daten AWT, Swing, JavaFX & SWT 8
D Swing JCombobox Weiße Leerzeilen AWT, Swing, JavaFX & SWT 10
G JComboBox: Arrow-Button permanent anzeigen AWT, Swing, JavaFX & SWT 4
D Swing Java JComboBox Example AWT, Swing, JavaFX & SWT 16
K Swing JComboBox mit ArrayList füllen AWT, Swing, JavaFX & SWT 4

Ähnliche Java Themen

Neue Themen


Oben