2012-06-04 3 views
0

나는 최대 8 개의 항목을 포함 할 수있는 JList를 사용하여 UI 작업을하고 있습니다. 논리적으로 나는 한도에 도달하면 응용 프로그램이 JList에 추가되는 것을 막았습니다. 그러나 아마도 JList 자체에 제한을 명시 적으로 설정하는 방법이 있는지 궁금합니다. 빈 셀 (최대 8 셀까지)을 다시 채워서 채울 수있는 빈 슬롯임을 나타낼 수있는 다음 작업에 도움이됩니다. 빈 줄을 나타 내기 위해 자리 표시 자 요소를 JList에 추가하지 않는 ListUI를 확장하여이 작업을 수행하는 방법을 찾으려고합니다.JList의 최대 크기 고정 및 빈 셀 모양 변경

답변

2

가장 간단한 방법은 목록 모델 (DefaultListModel 또는 AbstractListModel 사용)을 구현하는 것입니다. 제 생각에는 모델에 항상 8 개의 항목이 있다는 것입니다. 그들 모두는 빈 메시지를 가지고 있습니다.

모델에 새 항목을 추가하면 빈 텍스트를 해당 항목의 특정 텍스트로 바꿀 수 있습니다. 이 모델은 얼마나 많은 항목이 모델에 추가되는지 추적합니다. MAX_ITEMS를 더 추가하려고하면 예외를 던지거나 그런 식으로 할 수 있습니다.

DefaultListModel 구현은 매우 쉽고 인터넷에 많은 샘플이 있습니다.

2

here과 같은 접근 방식을 시도해 볼 수 있습니다. 그러면 N 항목으로 성장이 제한되고 그 이후에는 스크롤 할 수 있습니다. ListCellRenderer (표시된 here)을 사용하여 항목의 모양을 변경할 수 있습니다.