2012-01-05 3 views
2

이 방법JFrame에 다른 구성 요소와 다른 모양과 느낌을주는 방법 (멀티플렉싱)?

UIManager.setLookAndFeel(new SubstanceCeruleanLookAndFeel()); 

전체 앱의 L & F를 설정한다. 이것을 조합 한 다음 JFrame에 대해 다른 L & F를 어떻게 설정합니까?

편집

나는 Multiplexing Look and Feels에이 기사를 발견했습니다. 이것이 정확히 어떻게 작동합니까? 예를 찾을 수 없습니다.

+1

왜? 어쨌든 간단히 말하면 안됩니다 - 스윙은 응용 프로그램 하나당 단일 LAF를 지원하도록 설계되었습니다. 일반적으로 혼합하면 예기치 않은 비주얼과 동작이 발생합니다. @trashgod가 이미 언급했듯이 JFrame은 JComponent가 아니며, 설정하는 UI 대리자가 없습니다. LAF가 대신 할 수있는 것은 프레임 장식입니다. JFrame.setDefaultLookAndFeelDecoration을 참조하십시오. – kleopatra

+0

그래서 사용할 수 있습니까? 전체 응용 프로그램을위한 1 개의 laf 및 다른 laf를 사용하여 프레임을 장식 하시겠습니까? 혹은 그 반대로도; 1 개의 laf를 사용하고, 그렇다면 프레임 장식을 제외한 모든 구성 요소에 다른 laf를 사용 하시겠습니까? 이것이 가능한가? 나는 자신의 laf을 만들 수있는 기술이 없기 때문에 lafs를 결합하여 멋진 것으로 보이게하는 방법이 있는지 궁금해했습니다. – bunnyjesse112

답변

4

JComponent의 UI 기본값을 쉽게 재정의 할 수 있습니다. JTree 아이콘을 변경하는 예가 here입니다. 죄송합니다. JFrameJComponent이 아닙니다. UI 대리자가 없으며 장식은 호스트 운영 체제에서 제공합니다.

자세한 지침은 수행하려는 작업을 명확히해야합니다.

Validation overlays using multiplex look and feel도 참조하십시오.

+0

답장을 보내 주셔서 감사합니다. 실체가있는 프레임에는 사용자 정의 된 모양이 있습니다. 아이콘 화 및 닫기 버튼을 의미하고, 일부 laf에는 둥근 모서리가있는 창이 있습니다. 여하튼 한 잎에서 이것을 가져와 다른 것에 첨가 할 수 있습니까? – bunnyjesse112

+2

@ bunnyjesse112 아니오 - LAF 장식 또는 제공되는 OS 중 하나입니다. 정확히 무엇을 달성하고 싶습니까? – kleopatra

0

룩앤필은 적용 할 수 없다.