> Java > java지도 시간 > 내 Swing JTabbedPane이 UIManager를 변경한 후 모양과 느낌을 업데이트하지 않는 이유는 무엇입니까?

내 Swing JTabbedPane이 UIManager를 변경한 후 모양과 느낌을 업데이트하지 않는 이유는 무엇입니까?

Susan Sarandon
풀어 주다: 2024-11-30 16:36:11
원래의
291명이 탐색했습니다.

Why Doesn't My Swing JTabbedPane Update its Look and Feel After Changing the UIManager?

Swing JTabbedPane에서 룩앤필이 업데이트되지 않음

메뉴를 사용하여 Java Swing 애플리케이션의 룩앤필을 변경할 때 새로 추가된 애플리케이션에 변경 사항이 반영되지 않을 수 있습니다. JTabbedPane. SwingUtilities.updateComponentTreeUI()를 활용함에도 불구하고 문제가 지속됩니다.

해결책에는 JTabPanes를 포함하여 전체 프레임의 UI를 업데이트하는 작업이 포함됩니다.

Window windows[] = Frame.getWindows();
for(Window window : windows) {
    SwingUtilities.updateComponentTreeUI(window);
}
로그인 후 복사

이 개념을 확장하면 더욱 강력한 구현이 가능해졌습니다. 다음은 JTabPanes를 포함하여 Swing 애플리케이션의 모양과 느낌을 동적으로 업데이트하는 예입니다.

public class JTabbedText {

    // ... (code omitted for brevity)

    private static JToolBar createToolBar(final Component parent) {
        // ... (code omitted for brevity)

        combo.addActionListener(new ActionListener() {

            @Override
            public void actionPerformed(ActionEvent ae) {
                int index = combo.getSelectedIndex();
                try {
                    UIManager.setLookAndFeel(
                        available[index].getClassName());

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

        // ... (code omitted for brevity)
    }

    // ... (code omitted for brevity)
}
로그인 후 복사

이 접근 방식을 사용하면 모양과 느낌의 변경 사항이 JTabPanes를 포함한 애플리케이션의 모든 부분에 전파됩니다. 일관된 사용자 경험을 제공합니다.

위 내용은 내 Swing JTabbedPane이 UIManager를 변경한 후 모양과 느낌을 업데이트하지 않는 이유는 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
저자별 최신 기사
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿