JSCrollbar调整问题



我的水平卷轴演示有问题。我正在尝试使用滚动条移动自定义消息面板。我使用了一个匿名侦听器,并覆盖了aptigmentValuechanged()方法,

public void adjustmentValueChanged(AdjustmentEvent e){
   System.out.println(e.getAdjustmentType());
   if( e.getAdjustmentType() == AdjustmentEvent.UNIT_INCREMENT ) {
      panel.moveLeft();
   }
}

我正在尝试使用e.getAdjustmentType()获得调整Event,以便我可以正确处理消息面板的调整。但是,它不起作用。我使用system.out.println()方法来打印屏幕上的调整类型以查看问题是什么,但是我不了解的是,无论我按滚动条的哪个部分单位减小,块增量等。)返回的值是5?我不确定有人可以帮忙。

public class ScrollBarDemo extends JFrame {
   private JScrollBar scrollHort = new JScrollBar(JScrollBar.HORIZONTAL);
   private JScrollBar scrollVert = new JScrollBar(JScrollBar.VERTICAL);
   private MessagePanel panel = new MessagePanel("Welcom to Java bitch");
   public static void main(String[] args) {
      ScrollBarDemo frame = new ScrollBarDemo();
      frame.setTitle("ScrollBarDemo");
      frame.setLocationRelativeTo(null);
      frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
      frame.pack();
      frame.setVisible(true);
   }
   public ScrollBarDemo() {
      setLayout(new BorderLayout());
      add(panel, BorderLayout.CENTER);
      add(scrollHort, BorderLayout.SOUTH);
      add(scrollVert, BorderLayout.EAST);
      scrollHort.addAdjustmentListener(new AdjustmentListener() {
         public void adjustmentValueChanged(AdjustmentEvent e) {
            System.out.println(e.getAdjustmentType());
            if (e.getAdjustmentType() == AdjustmentEvent.UNIT_INCREMENT) {
               panel.moveLeft();
            }
         }
      });
   }
}

运行以下样本,使用的方法是getValue()。

public class ScrollBarDemo extends JFrame {
   public ScrollBarDemo() {
      setLayout( new BorderLayout());
      final JScrollBar scrollHort = new JScrollBar( JScrollBar.HORIZONTAL );
      add( scrollHort, BorderLayout.SOUTH );
      scrollHort.addAdjustmentListener( e -> System.out.println( e.getValue()));
      setLocationRelativeTo(null);
      setDefaultCloseOperation( EXIT_ON_CLOSE );
      pack();
      setVisible(true);
   }
   public static void main( String[] args ) {
      new ScrollBarDemo();
   }
}

相关内容

  • 没有找到相关文章