zoukankan      html  css  js  c++  java
  • e822. 监听JScrollPane的滚动

    A scrollbar in a scroll pane fires adjustment events whenever its value changes.

        // Create a scrollable text area
        JTextArea textArea = new JTextArea();
        JScrollPane pane = new JScrollPane(textArea);
        
        // Listen for value changes in the scroll pane's scrollbars
        AdjustmentListener listener = new MyAdjustmentListener();
        pane.getHorizontalScrollBar().addAdjustmentListener(listener);
        pane.getVerticalScrollBar().addAdjustmentListener(listener);
        
        class MyAdjustmentListener implements AdjustmentListener {
            // This method is called whenever the value of a scrollbar is changed,
            // either by the user or programmatically.
            public void adjustmentValueChanged(AdjustmentEvent evt) {
                Adjustable source = evt.getAdjustable();
        
                // getValueIsAdjusting() returns true if the user is currently
                // dragging the scrollbar's knob and has not picked a final value
                if (evt.getValueIsAdjusting()) {
                    // The user is dragging the knob
                    return;
                }
        
                // Determine which scrollbar fired the event
                int orient = source.getOrientation();
                if (orient == Adjustable.HORIZONTAL) {
                    // Event from horizontal scrollbar
                } else {
                    // Event from vertical scrollbar
                }
        
                // Determine the type of event
                int type = evt.getAdjustmentType();
                switch (type) {
                  case AdjustmentEvent.UNIT_INCREMENT:
                      // Scrollbar was increased by one unit
                      break;
                  case AdjustmentEvent.UNIT_DECREMENT:
                      // Scrollbar was decreased by one unit
                      break;
                  case AdjustmentEvent.BLOCK_INCREMENT:
                      // Scrollbar was increased by one block
                      break;
                  case AdjustmentEvent.BLOCK_DECREMENT:
                      // Scrollbar was decreased by one block
                      break;
                  case AdjustmentEvent.TRACK:
                      // The knob on the scrollbar was dragged
                      break;
                }
        
                // Get current value
                int value = evt.getValue();
            }
        }
    
    Related Examples
  • 相关阅读:
    libevent
    STL中mem_fun和mem_fun_ref的用法
    java的awt和swing的区别于联系
    数据库流程控制的使用IF CASE LOOP LEAVE ITERETA REPEAT WHILE
    mysql的常用函数
    数据库的基本知识点
    使用myeclipse 打包并运行普通java项目
    getClass()与getName()方法
    Java中的final关键字
    基本类型包装类的常量池技术
  • 原文地址:https://www.cnblogs.com/borter/p/9596216.html
Copyright © 2011-2022 走看看