Jtable에 cell선택에서 마우스 클릭 문제입니다.
한추렴
ListSelectionModel을 이용하여 선택부분은 해결 했습니다만, 이렇게 하니까 마우스을 누를 때(Press)와 땔 때(Release? UP?)에 모두 이벤트가 작동해 버리더군요.
ListSelectionModel cellSelectionModel = table.getSelectionModel();
cellSelectionModel.setSelectionMode(ListSelectionModel.SINGLE_SELECTION);
cellSelectionModel
.addListSelectionListener(new ListSelectionListener() { // 셀 선택시의 이벤트 처리
public void valueChanged(ListSelectionEvent levt) { // 리스너의 등록
// 이벤트 처리 메소드의 정의
Stringstr = (String) table.getValueAt(
table.getSelectionModel().getLeadSelectionIndex() ,
table.getColumnModel().getSelectionModel().getLeadSelectionIndex() );
System.out.println(선택 : + str);
}
});
어딘가에 설정같은게 있지 않을까 합니다만 어디서 찾아야 할지 모르겠네요 ^ㅡ^;;
Java API도 뒤적거리고 있긴 합니다만 아직 검색 능력이 떨어지나봐요 ^^&
답변 부탁드립니다 +_+!
-
아론아브라함
여수다님// 감사합니다. ^^ 드래그 해보니 글들이 계속 뜨더라구요 ^^ 기능 찾기가 넘 힘들어요 ^^;;
-
새나
여리 // 저도 이틀전에 저게 궁금해서 찾아 봤었는데.. 그냥 저게 맞나 안 맞나 모르고 있었습니다.
소스코드를 확인해 보고, api를 보면 그렇게 적혀 있지만.. 뭐.. 걍 소스를 보고 이해하는 놈이라. ㅋㅋ.
확답을 주셔서 감사 합니다. ㅎㅎ -
서향
if ( levt.getValueIsAdjusting() ) return;
이거 추가하시면 맨 마지막에 마우스를 뗄 경우의 이벤트만 처리합니다. 이 메소드는 \현재 동작이 마무리 되지 않고 계속해서 이어지고 있는가?\를 나타내는데 보통 슬라이더처럼 드래그 동작을 처리할 것인지 말 것인지를 판단할 때 사용됩니다. 테이블 같은 경우는 별 상관없지만 뭐.. 저 메소드에서 return 하지 않고 안에서 이벤트를 처리하면 테이블에서 드래그할때마다 계속해서 이 -
올해1살
손코딩으론 기본적인 흐름만 그려놓고 하는건데요, 제가 아직 이벤트에 대한 부분에 이해도가 떨어지나 보네요;;
플로우 차트나 그런것 까지 그려서 하고 있진 않습니다. 그림 그려놓고 기능 써놓고, 그 기능에 대한 세부적인 이벤트 생각하면서 하고 있어요 -
에드가
근데 이거 손코딩하시는 건가요?-ㅁ-;;;