0
JTable의 일부 열만 선택할 수 있는지 (즉, ListSelectionListener로 전달된다는 의미)?JTable에서 특정 열을 선택할 수 있도록 설정하려면 어떻게합니까?
table.getSelectionModel().addListSelectionListener(new ListSelectionListener() {...});
JTable의 일부 열만 선택할 수 있는지 (즉, ListSelectionListener로 전달된다는 의미)?JTable에서 특정 열을 선택할 수 있도록 설정하려면 어떻게합니까?
table.getSelectionModel().addListSelectionListener(new ListSelectionListener() {...});
가장 간단한 해결 방법은 자신의 선택 모델을 만들 수 있습니다 : 다음과 같이
나는 내 리스너를 추가 한
table.getColumnModel().setSelectionModel(new DefaultListSelectionModel() {
private boolean isSelectable(int index0, int index1) {
// TODO: Decide if this column index is selectable
return true;
}
@Override
public void setSelectionInterval(int index0, int index1) {
if(isSelectable(index0, index1)) {
super.setSelectionInterval(index0, index1);
}
}
@Override
public void addSelectionInterval(int index0, int index1) {
if(isSelectable(index0, index1)) {
super.addSelectionInterval(index0, index1);
}
}
});
참고 또한 당신이 열 선택에서 수신 할 경우, 테이블의 선택 모델이 아닌 열 모델의 선택 모델에 리스너를 추가하려고합니다.
고마워, 그게 완벽 해. – sdasdadas
왜 그렇게하고 싶습니까? – DrinkJavaCodeJava
JTable의 열을 선택하면 특정 리스너 집합에 알립니다. 그러나, 나는 편집자 인 동일한 테이블에 또 다른 칼럼을 가지고있다. 사용자가 Editor 열을 선택하면 리스너에게 알리고 싶지 않습니다. – sdasdadas