JLabel
(렌더러 자체는 JPanel
까지 확장 됨)으로 구성된 simple-ish 셀 렌더러가 있는데, 이것을 Nimbus 모양에서 현저하게 렌더링하려고합니다. 느낌. 기본적으로 어떤 일이 것은 (후광이 색칠 다른 행이 같은) 가벼운 행에, 내 특정 셀 렌더러 (모두 가벼운보다 훨씬 어두운하고 어두운 행 색) 테이블 배경 색상을 사용하고 있다는 점이다. 내 렌더러에서 나는 할 : 나는 코드의 전체 블록을 언급하는 경우Nimbus의 룩앤필을위한 간단한 셀 렌더러 설계하기
if (isSelected) {
setBackground(table.getSelectionBackground);
}
else {
setBackground(table.getBackground);
}
아웃 후 모든 내 행 (하나가 아닌 테이블 배경,하지만 다른 색상) 어두운 행 색상에 있습니다. 나는 심지어 무엇이 계속 될 수 있는지를 잘 모른다! 위의 코드 스 니펫은 배경색이 다른 셀을 어떻게 생성합니까? 내 방법 호출간에 table.getBackground
색깔이 바뀌나요? 나는이 코드 조각을 사용하여 시도했다
:
DefaultTableCellRenderer
클래스에 Color alternateColor = sun.swing.DefaultLookup.getColor(
peer,
peer.getUI,
"Table.alternateRowColor");
if (alternateColor != null && row % 2 == 0)
setBackground(alternateColor);
. 그리고 전혀 영향을 미치지 않는 것 같습니다. 누구든지 Nimbus와 협력하는 맞춤형 셀 렌더러를 가지고 있습니까?
편집는 : 사람이 관심이 있다면 내가 실제로 자바 스칼라을하지 사용했는데,이는 스칼라 테이블 셀 렌더링에 문제가 밝혀졌다. Java 프로그램에서 허용되는 대답은 정상적으로 작동합니다. 별개의 질문 here.
예 :
여기 후광 UI 기본값으로 좋은 링크입니다. 그러나 실제로 Java가 아닌 Scala를 사용하고 있으므로 Java로 빠른 테스트 케이스를 작성하기로 결정했습니다. 감사합니다. 불행히도 나는 스칼라에서 왜 작동하지 않는지 전혀 모른다. –
스칼라에 대해 많이 알지 못하더라도 왜 작동하지 않아야하는지 알지 못합니다. 스윙은 스칼라에서도 스윙입니다. –
사실 (행 % 2 == 1) {'if '입니다. – cimnine