DefaultListCellRenderer
은 JLabel
입니다. 그 getListRendererComponent
방법에있어서,이 전달되는 것을 JList
의 기반으로 사용 가능 상태를 설정합니다.
코드를 BasicLabelUI
에 사용할 수 JLabel
텍스트를 그림에 대한 것은 그림자 효과로 텍스트를 칠하는 몇 가지 작업을 수행합니다. 많은 하위 클래스에서 "Label.disabledForeground"
UI 속성을 찾는 코드를 찾을 수 있습니다. The Nimbus defaults은 "Label.disabledText"
을 찾은 것 같습니다.
- 당신은 모든
JLabel
인스턴스 이 색상에 걸릴 사용할 수있는 서브 클래스를 할 것이다는 UIManager
에 "Label.disabledText"
속성을 설정할 수 있습니다 : 당신은 몇 가지 옵션이 있습니다.
- 의 활성화 된 상태를 테스트 한 다음 사용자 지정 코드를 사용하는 사용자 지정 렌더러를 만들거나 활성화 된 상태에 관계없이 동일한 모양으로 보이게하려면 사용 상태 테스트를 완전히 생략 할 수 있습니다 상태.
내가 그 클래스는 다양한 구성 요소에 builing 블록으로 사용되는 같은 JLabel
속성의 변화가 표시됩니다 위치를 말할 어려운대로, 사용자 정의 렌더러 접근 방식을 제안했다.
출처
2010-02-17 05:51:19
akf
팁 주셔서 감사합니다. 렌더러를 잊어 버렸습니다. getListRendererComponent를 오버라이드 (override)하고, 슈퍼 getListRendererComponent를 호출 해, 돌아 오기 전에 setEnabled (true)를 호출 해 DefaultListCellRenderer를 확장했습니다. 그게 내가 진정으로 원했던 것입니다. –