Rumah >Java >javaTutorial >Mengapa Tidak Lihat dan Rasai Perubahan Digunakan pada Tab JTabbedPane Baharu dalam Swing?

Mengapa Tidak Lihat dan Rasai Perubahan Digunakan pada Tab JTabbedPane Baharu dalam Swing?

Linda Hamilton
Linda Hamiltonasal
2024-12-26 10:29:12510semak imbas

Why Don't Look and Feel Changes Apply to New JTabbedPane Tabs in Swing?

Lihat dan Rasa Kemas Kini dalam Swing JTabbedPane Selepas Penambahan Tab

Isu: Apabila menambah tab baharu pada JTabbedPane dalam aplikasi Swing, perubahan rupa dan rasa yang dibuat melalui menu aplikasi tidak digunakan pada yang baharu tab.

Penyelesaian:

Untuk memastikan rupa dan rasa kemas kini dalam JTabbedPane, termasuk tab baharu, gunakan pendekatan lanjutan berikut yang diperoleh daripada ulasan @Andrew:

    int index = combo.getSelectedIndex();
    try {
        UIManager.setLookAndFeel(
            available[index].getClassName());

        // Update UI for all windows including JTabbedPane
        Window windows[] = Frame.getWindows();
        for(Window window : windows) {
            SwingUtilities.updateComponentTreeUI(window);
        }
    } catch (Exception e) {
        e.printStackTrace(System.err);
    }

Selain mengemas kini rupa dan rasa untuk komponen individu, pendekatan ini berulang melalui semua tetingkap terbuka dalam aplikasi dan menyegarkan semula komponen UI mereka, memastikan bahawa mana-mana tab JTabbedPane yang baru dibuat turut menerima rupa dan rasa yang dikemas kini.

Atas ialah kandungan terperinci Mengapa Tidak Lihat dan Rasai Perubahan Digunakan pada Tab JTabbedPane Baharu dalam Swing?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn