2010-06-24 5 views
0

JTable에 레이블을 추가하고 mouseMotionListener 이벤트를 레이블에 추가하려고합니다. 레이블이 mouseDragged 이벤트에서 테이블을 가로 질러 이동합니다. 테이블에 50 개 이상의 열이 포함되어 있으며 임의의 시점에서 15 개의 열만 표시됩니다. 이제 레이블을 같은 행의 반대쪽으로 이동하려면 수동으로 스크롤 막대를 움직이지 않고 레이블을 이동할 수 없습니다. 레이블을 끌 때 스크롤 막대를 자동으로 이동할 수 있습니까?JTable 자동 스크롤

JTable table = new JTable(model); 
JLabel label = new JLabel(); 
label.setBounds(100,50,80,20); 
table.add(label); 
label.addMouseMotionLister(new MouseMotionListener() 
{ 
public void mouseDragged(MouseEvent arg0) 
{ 
label.setBounds(label.getX()+arg0.getX(),Y,width,height); 
} 

답변

3

레이블을 이동 한 후 테이블에서 scrollRectToVisible (...)을 호출하십시오. 레이블의 경계를 메서드의 사각형으로 사용할 수 있어야합니다.

table.scrollToRect(theBoundsOfTheLabel); 
:

편집 : 내가 좋아하는 뭔가를 시도 할 것입니다 자바 코드에 영어로 위의 제안을 변환