2012-02-12 5 views
5

두 값을 표시하려는 항목이있는 JList이 있습니다. 문자열 이름을 표시 한 다음 값을 표시 할 오른쪽 맞춤 문자열을 가질 수있는 방법이 있습니까? 이처럼 보이는 뭔가 :JList 텍스트 맞춤

Title__________________120 
Title2_________________135 

는이 항목에 두 개의 문자열을 전달하고 왼쪽과 오른쪽에 두 번째의 첫 번째 문자열 표시를 할 수 있습니까?

답변

6

물론 사용자 정의 renderer을 구현하십시오. 의 LHS 텍스트 및 EAST의 RHS 텍스트를 사용하여 JPanelBorderLayout으로 렌더링 구성 요소로 반환 할 수 있습니다.

또 다른 방법은 너비의 100 %에 걸쳐 펼쳐지는 HTML 표를 사용하여 HTML을 기본 렌더러 (JLabel)로 이동하는 것입니다. 맞춤 렌더러는 여러 가지 이유로 더 나은 선택이 될 수 있지만 (예 : 기본 렌더러의 유형이 라벨 인 것으로 추정하지 않음).


BTW - 아마도 이런 종류의 기능을 사용하려면 JTable을 사용해야합니다. 해킹이나 맞춤 클래스가 필요하지 않습니다.


는 JTable가이 항목을 선택 할 수 ..does?

물론! 자습서의 How to Use Tables에서 직접 가져온 예입니다. 'Jane'이 선택되었습니다.

Table with row selected

테이블 설정 및 바로 얻을 조금 더 노력하지만 잘 노력이 가치가있다.

는 JTable는,

아니, 테이블이 궁극적으로 더 많은 기능을 제공합니다 .. 단지의 JList으로 수행겠습니까. 그러나 목록에서 수행 할 수있는 작업은 거의 동일한 방식으로 (사용자를 위해) 작업합니다.

+0

JTable은 JList처럼 수행 할 수 있습니까 (미안하지만 jlist와 jtable을 처음 사용하여 미안 해요). 내 말은 JList가 값을 선택하기위한 좋은 인터페이스를 제공하지만 jtable은 항목을 선택할 수 있습니까? – mbreen

+0

편집을 참조하십시오. 특히 '테이블 사용 방법'링크를 참조하십시오. 그것은 당신이 알아야 할 대부분의 것을 설명 할 것입니다. –

+0

굉장! 여기에 stackoverflow 모든 사람이 항상 간단한 질문에 대한 좋은 자세한 답변을 제공합니다! 정말 고맙습니다. – mbreen