말해, 3 개의 패널을 프레임에 추가하고 첫 번째 패널에서 금속 모양과 느낌을 설정하고 싶습니다. 두 번째 패널의 경우 Windows 모양과 느낌을 원합니다. 세 번째 패널의 경우 기본 스윙 스타일이어야합니다.동일한 프레임 내에서 다른 패널에 다른 모양과 느낌을 설정할 수 있습니까?
가능합니까?
말해, 3 개의 패널을 프레임에 추가하고 첫 번째 패널에서 금속 모양과 느낌을 설정하고 싶습니다. 두 번째 패널의 경우 Windows 모양과 느낌을 원합니다. 세 번째 패널의 경우 기본 스윙 스타일이어야합니다.동일한 프레임 내에서 다른 패널에 다른 모양과 느낌을 설정할 수 있습니까?
가능합니까?
아니요, 불가능합니다.
클래스 (여기서 look and feel is set은 싱글 톤 임). 한 번에 하나만 설정할 수 있습니다.
그러나 각 구성 요소에서 UI 대리자를 무시할 수 있습니다 (JComponent.setUI() 참조). 이 메서드를 사용하면 대체 모양과 느낌의 UI 대리자를 사용하는 일부 구성 요소를 함께 해킹 할 수 있습니다. 그러나 대부분의 경우 그들은 "실제"모양과 느낌으로 설정된 UIDefaults
을 조회 할 것이므로 기껏해야 가난한 근사치가 될 것입니다.
사실 지금 당장 가능합니다. 내 GUI 클래스에서 내가 호출했습니다
UIManager.setLookAndFeel("com.sun.java.swing.plaf.nimbus.NimbusLookAndFeel")
어떤 이유로 든 컨테이너 패널은 여전히 금속이지만 다른 모든 구성 요소는 Nimbus입니다.
다른 클래스 로더에서 UIManager.setLookAndFeel을로드하는 방법은 무엇입니까?
그렇지 않습니까?
작동하는 경우 클래스 로더간에 데이터를 브리지해야합니다. 나는 구글이 그런 다리를 썼다고 생각한다.
당신은 정교 할 수 있습니까? 어떤 참조? –