3
제목에서 말한대로 ... 나는 JList의 항목을 두 번 클릭했을 때만 "선택"하고 싶습니다. 이런 종류의 행동을 달성하는 가장 좋은 방법은 무엇입니까?JList 선택 변경 이벤트를 비활성화하고 두 번 클릭 할 때만 호출하는 방법은 무엇입니까?
제목에서 말한대로 ... 나는 JList의 항목을 두 번 클릭했을 때만 "선택"하고 싶습니다. 이런 종류의 행동을 달성하는 가장 좋은 방법은 무엇입니까?JList 선택 변경 이벤트를 비활성화하고 두 번 클릭 할 때만 호출하는 방법은 무엇입니까?
당신은 이런 식으로 뭔가를 시도 할 수 있습니다 : 그것은 작동하는 경우
JList list = new JList(dataModel);
...
MouseListener mouseListener = new MouseAdapter()
{
public void mouseClicked(MouseEvent e)
{
if (e.getClickCount() == 2) // double click?
{
int posicion = list.locationToIndex(e.getPoint());
list.setSelectedIndex(posicion);
}
else if (e.getClickCount() == 1) // single click?
list.clearSelection() ;
}
};
list.addMouseListener(mouseListener);
이 말해 ... 난 여기가 테스트 할 수 없습니다.
이것은 거의 작동하지만 여러 선택을 사용하고 싶습니다. 항목을 선택하고 목록을 클릭 할 때마다 선택을 원하지 않습니다. 그 이유는 내가 한 번의 클릭으로 선택을 사용하지 못하게하고 싶지 않았기 때문입니다. – yurib
JList에는 2 개의 기본 mouselisteners가 있습니다. 나는 그 중 하나를 제거하려고 생각하고 있었지만, 각각이 무엇을 두려워하는지 알지 못하기 때문에 선택 이외의 다른 동작에 영향을 줄 수 있습니다. – yurib
난 그냥 모든 마우스 리스너를 제거하고 내가 뭘 원하는 바꾸 었어 도움 주셔서 감사합니다 :) – yurib