Heim >Java >javaLernprogramm >Warum aktualisiert mein Swing JTabbedPane sein Erscheinungsbild nicht, nachdem ein neuer Tab hinzugefügt wurde?

Warum aktualisiert mein Swing JTabbedPane sein Erscheinungsbild nicht, nachdem ein neuer Tab hinzugefügt wurde?

Barbara Streisand
Barbara StreisandOriginal
2024-11-30 06:53:19864Durchsuche

Why Doesn't My Swing JTabbedPane Update Its Look and Feel After Adding a New Tab?

Look and Feel wird in Swing JTabbedPane nicht aktualisiert

Sie haben in Java Swing eine Anwendung erstellt, die es Benutzern ermöglicht, das Look and Feel zu ändern aus einem Menü. Nach dem Hinzufügen einer neuen Registerkarte in JTabbedPane werden die Änderungen im Erscheinungsbild jedoch nicht in der neuen Registerkarte widergespiegelt.

Lösung

Um dieses Problem zu beheben, kombinieren Sie die Von @Andrew vorgeschlagene Ansätze und eine klassische Lösung von swingjs.org:

Window windows[] = Frame.getWindows();
for (Window window : windows) {
    SwingUtilities.updateComponentTreeUI(window);
    window.invalidate();
    window.validate();
    window.repaint();
}

Dieser Code aktualisiert das Erscheinungsbild, entwertet und validiert die Fenster und streicht sie neu, um eine ordnungsgemäße Wiedergabe zu gewährleisten.

Das obige ist der detaillierte Inhalt vonWarum aktualisiert mein Swing JTabbedPane sein Erscheinungsbild nicht, nachdem ein neuer Tab hinzugefügt wurde?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn