2011-09-07 9 views
2

JList가 있고 그 목록 안에 다음 단어의 글꼴 색을 변경하고 싶습니다.글꼴 색상을 설정하는 방법은 무엇입니까?

누군가 내가 CellRenderer를 사용해야한다고했지만 아직 익숙하지 않습니다.

내 문제는이 렌더러를 설정하여 글꼴 색상을 변경하는 방법입니다.

이 문제에 대해 알고 싶으십니까?

감사합니다 ...

+2

은 항상 http://download.oracle.com/javas로 탭을 열어 두는 것이 좋습니다. e/tutorial/uiswing/index.html - 사용법 xx 장을 빨리 읽어보십시오 (xx는 아직 모르는 구성 요소입니다 :-) – kleopatra

+0

은 하나의 JLabel에서 두 개의 서로 다른 색상을 만들 수 있습니다. 명부? – sack

+0

나는 내 Jlist에있는 단어 목록을 가지고 있으며, 모든 단어 옆에는 정의가있다. 단어의 글꼴이 자신의 정의와 다른 색을 가지길 원합니다. 내 질문은 하나의 Jlist에서 두 가지 색상을 사용할 수 있습니까? – sack

답변

6

체크 아웃 JavaDoc, 그것은 당신이 (상단에있는 예제를) 필요가있을 수 있습니다. 기본적으로 구성한 글꼴 색상으로 구성 요소 (예 : JLabel)를 반환합니다.

편집 : 당신은 그 정의가 아닌 다른 색상으로 단어를 갖고 싶어하기 때문에, 여기에 두 가지 가능성이이 목록의 셀 렌더링 함께 할 수있는 방법 :

  1. 반환 JPanel과 2 JLabels를 포함 하나 단어와 정의를 가진 단어. 두 레이블은 서로 다른 전경색을 가질 수 있습니다.
  2. JLabel은 다른 Swing 구성 요소와 마찬가지로 HTML을 지원하므로 레이블의 텍스트를 <html><font color=red>your word</font> - your definitions</html>으로 설정할 수 있습니다. 기본 전경색은 정의를위한 색상이어야하며, 아니면 <font> 태그를 사용하여 정의를 래핑 할 수도 있습니다. 이 Tutorial을 살펴보십시오.
+0

내 Jlist에 단어 목록이 있고 각 단어 옆에는 정의가 있습니다. 단어의 글꼴이 자신의 정의와 다른 색을 가지길 원합니다. 내 질문은 하나의 Jlist에서 두 가지 색상을 사용할 수 있습니까? – sack

+1

@Mikel 예, 가능합니다. 나는 두 가지 가능성을 추가 할 것이다. – Thomas

+0

예 .. 작동합니다 .. 감사합니다. ;-) – sack

6

JLabel를 들어 구성 요소가 시도 :

new DefaultListCellRenderer(){ 
     @Override 
     public Component getListCellRendererComponent(JList list, Object value, int index, boolean isSelected, boolean cellHasFocus) { 
      JLabel label = (JLabel)super.getListCellRendererComponent(list, value, index, isSelected, cellHasFocus); 
      label.setForeground(Color.RED); 
      return label; 
     } 
    }; 
+0

감사합니다! – sack

+0

나는 나의 Jlist에있는 단어의 목록을 가지고 있으며, 모든 단어 옆에는 그들의 정의가있다. 단어의 글꼴이 자신의 정의와 다른 색을 가지길 원합니다. 내 질문은 하나의 Jlist에서 두 가지 색상을 사용할 수 있습니까? – sack

2

고려 ...., 즉 더 나은 prepareRenderer를 사용하여, here을의 JListJTableTableHeaderTableColumn 하나와하지를 사용 here 입증 될 것이다, JList에는 많은 제한/누락 된 메소드가 있으므로 JTable

+1

- 1 over-complicating ;-) 질문은 명확하게 JList에 관한 것이 었으며 셀 모양을 구성하는 방법은 잘 .. 사용자 정의 렌더러 구현입니다. – kleopatra

+0

그리고 나는 단지 @ 앤드류 톰슨이 오늘 당신에게서 그것을 얻는 것을 즐겼습니다 :-) – mKorbel

관련 문제