많은 사람들이 알고 있듯이 JList의 구성 요소는 상호 작용할 수 없으며 상호 작용할 수 없으며 구성 요소 모양의 스냅 샷과 같습니다. 간단한 응용 프로그램에서 작업하고 JList는 목록의 구성 요소가 상호 작용할 수 있어야한다는 점을 제외하고는 원하는 것입니다. ,상호 작용 가능한 JList 만들기
JList의 각 구성 요소는 당신이 볼 수있는 JPanel과는 JProgressBar가 같은 다른 구성 요소가 포함되어
는 지금까지 간단한하는 AbstractListModel를 구현하여,이 만든, 그리고의 ListCellRenderer은 JLable 및 JButton. 유일한 문제는 버튼 (및 다른 모든 구성 요소)이 상호 작용할 수 없다는 것입니다. 이 문제를 어떻게 해결할 수 있습니까?
참고 : 단일 열이 필요하지 않습니다. JTable!
레이아웃을 사용하여 수직으로 정렬 된 구성 요소 목록을 생성하는 대신 SwingX 또는 BoxLayout의 VerticalLayout (예 : – MadProgrammer
)을 사용하십시오. @MadProgrammer 실제로 JList를 수정할 수없는 경우 (JPanel GridLayout은 내가 가지고있는 것입니다.) 그러나 나는이 질문에 대한 답을 기다리고있을 것이다. –
당신이 스스로 대답했다고 생각합니다.'JList'는 편집 할 수 없으며, 개조하려고 노력하지 않았으며, 열심히 노력하고 있습니다 (예, 실제로 시도했습니다). 당신은'JList'에서'MouseListener'를 사용하고, 클릭 된 행을 찾고,'MouseEvent'를'ListCellRenderer' 문맥 안에서 번역하고, 클릭 한 것을 결정할 수 있습니다. 그러나 첫 번째 옵션은 더 빠르고 간단하게 (레이아웃 관리자 사용) – MadProgrammer