JTable의 열에 JList를 넣는 간단한 방법이 필요합니다. 나는 이미 JLists와 테이블을 가지고 있지만, 테이블에 넣을 때 JList는 String으로 표시된다. DefaultTableModel을 사용하기 때문에 정상이다. 나는 는 getColumnClass를 오버라이드 (override) 한() 등 :JTable 셀에서 JLists를 사용하는 방법은 무엇입니까?
public Class<? extends Object> getColumnClass(int c)
{
return getValueAt(0, c).getClass();
}
그러나 이것은 단지 정수를 포맷하고 값을 부동.
내가 생각하는 의 setValueAt() 나는 JList.getSelectedValues를 (호출 할 때)을 문자열의 오전 배열을 반환하기 위해 및 해 getValueAt()는, 오버라이드 (override) 할 필요가 있습니다,하지만 난 방법을 알아낼 수 없습니다 .
또한 셀을 편집 가능하게하고 사용자가 JList에서 하나 이상의 옵션을 선택할 수있게하려고합니다. 행을 편집 한 후 저장 버튼을 사용하여 변경 사항을 데이터베이스에 저장하므로 ListSelectionListener가 필요하지 않다고 생각하므로 JList.getSelectedValues ()가 정상적으로 작동합니다.
나는 이것이 일반적인 질문이라는 것을 알고 있지만 여기에서 대답을 찾을 수 없습니다. 이 사본이 중복되는 경우 알려 주시면 삭제하겠습니다.
[의 ListCellRenderer]에 대해 자세히 (http://download.oracle.com/javase /1.5.0/docs/api/javax/swing/ListCellRenderer.html) 및 [CellEditors] (http://download.oracle.com/javase/1.4.2/docs/api/javax/swing/CellEditor.html) 이 [튜토리얼] (http://download.oracle.com/javase/tutorial/uiswing/components/table.html#renderer) –
고마워. 나는 이미 그것들을 읽었습니다. 나는 그들을 다시 읽고 그것을 독자적으로 만들려고 노력할 것입니다. – radonys