2011-12-09 7 views
2

: 지금 내가이 잘 작동감지 마우스 클릭 이벤트는

static boolean performAdjustment = true; 

JTextArea textArea = new JTextArea(); 
JScrollPane jScrollPane1 = new JScrollPane(textArea); 

    jScrollPane1.getVerticalScrollBar().addAdjustmentListener(new AdjustmentListener() { 
      public void adjustmentValueChanged(AdjustmentEvent e) { 
       if(performAdjustment){ 
        e.getAdjustable().setValue(e.getAdjustable().getMaximum()); 
       } 
     }}); 

을하지만, 문제는 나는 사용자가 스크롤 막대를 클릭 할 때이 부울 플래그를 설정 해제하고 사용자가 클릭을 떠날 때 다시 설정해야합니다 (예 : JavaScript의 onMouseOut 이벤트).

스크롤바의 클릭 이벤트를 감지 할 수있는이 새로운 EventListener를 어떻게 추가 할 수 있습니까?

+0

난(). addClickListener() jScrollPane1.getVerticalScrollBar 또는 이와 유사한 같은 뭔가가 필요,이 exisits 이런 건가? – Johnydep

+0

마우스 수신기를 추가하는 방법은 어떻습니까? –

+0

네, 맞습니다.하지만 방금 autoscroll을 사용할 수 있다는 것을 깨달았습니다 : textArea.setCaretPosition (textArea.getDocument(). getLength()); – Johnydep

답변

2

나는 마우스 수신기가 당신이 원하는 것을 성취하는데 도움이 될 것이라고 확신한다;

jScrollPane1.getVerticalScrollBar().addMouseListener(...)

+0

[여기] (http://stackoverflow.com/a/7519403/230513)와 관련된 예제가 있습니다. – trashgod

+0

덕분에 자동 스크롤에 대한 또 다른 멋진 구현 아이디어가 있습니다. – Johnydep

관련 문제