2012-06-11 3 views
0

세포가 마우스로 선택되면 알려주는 ListSelectionListener이 있습니다.(JTable)과 비슷한 JGrid에서 마우스 클릭 및 시프트시 셀을 선택하는 방법은 무엇입니까?

JGrid grid = new JGrid(); 
grid.getSelectionModel().setSelectionMode(ListSelectionModel.MULTIPLE_INTERVAL_SELECTION); 
grid.getSelectionModel().addListSelectionListener(new ListSelectionListener() { 

    @Override 
    public void valueChanged(final ListSelectionEvent e) { 
     e.getFirstIndex(); 
     e.getLastIndex() 
    } 
} 

버튼 교대가있을 때만 판매를 선택하고 싶습니다. 내가 어떻게 해?

여러 항목을 선택해야합니다. 사용자가 쉬프트를 잡고 셀을 클릭하면 getFirstIndex()getLastIndex()이 표시됩니다. JGrids 가정

답변

0

당신의 JGrid이 유사한 모든 KeyListener를 추가, 당신은의 valueChanged() 이벤트를 얻을 때 당신의 부울 "shiftIsDown"값이 true 있는지 확인 지금 keyListeners에게

boolean shiftIsDown = false; 

yourJGrid.addKeyListener(new KeyListener() 
     { 
      public void keyPressed(KeyEvent e) 
      { 
       if (e.getKeyCode == e.VK_SHIFT) shiftIsDown = true; 
      } 

      public void keyReleased(KeyEvent e) 
      { 
       if (e.getKeyCode == e.VK_SHIFT && 
        shiftIsDown == true) shiftIsDown = false; 
      } 

      public void keyTyped(KeyEvent e) 
      { 
       // nothing 
      } 

     }); 

소요되며, 그렇다면 선택을 할 수 있습니다.

+0

대단히 감사합니다 !!!! 나는 그것을 해결하려고 두 밤을 보냈다. 넌 나를 구했다. – Alex