java - 将输入值设置为 JScrollBar 的值

标签 java swing awt jscrollbar

我有一个 jScrollbar,当我滚动它时(它的值从 0 到 100),我想在文本字段中显示该值。 这是如何从 jScrollBar 获取值

AdjustmentListener adjListener;
adjListener = new AdjustmentListener() {
    public void adjustmentValueChanged(AdjustmentEvent evt) {
        System.out.println(evt.getValue());
    }
};

但我无法将其放入输入中,因为我收到 cannot make static reference to non-static 错误。

任何帮助将不胜感激!

最佳答案

您可以选择在范围或类属性中使用变量。

public class Main extends JFrame {

// Attibute version
// private final JTextField textfield = new JTextField( "0000" );

   Main() {
      super( "Hello, scrollbars!" );
      setDefaultCloseOperation( EXIT_ON_CLOSE );
      setLayout( new BoxLayout( getContentPane(), BoxLayout.Y_AXIS ));

      // this variable may be defined as attribute
      final JTextField textfield = new JTextField( "0000" );
      add( textfield );

      final JScrollPane scrollPane =
         new JScrollPane(
            new JList<>(
               new String[]{
                  "Hello", "Scrollbars",
                  "Hello", "Scrollbars",
                  "Hello", "Scrollbars",
                  "Hello", "Scrollbars",
                  "Hello", "Scrollbars",
               }));
      scrollPane.getVerticalScrollBar().addAdjustmentListener(
         e -> textfield.setText( String.format( "%04d", e.getValue())));
      add( scrollPane );

      pack();
      setLocationRelativeTo( null );
      setVisible( true );
   }

   public static void main( String[] args ) {
      new Main();
   }
}

关于java - 将输入值设置为 JScrollBar 的值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41535387/

相关文章:

java - 当一个数据库发生变化时,自动更新jar文件中的所有数据库

java - 我应该使用 substring 来避免 java 数据库中的某个字符串还是有其他方法可以绕过它?

java - java.awt.dialog是如何实现模态的?

java - 组件在 JPanel 中不可见

java.lang.NoClassDefFoundError : Could not initialize class com. googlecode.objectify.ObjectifyService

java - JNI 代码中的 UnsatisfiedLinkError

java - 使用 java 的 Calendar 类比较日期

java - 使多个 JTextFields 改变颜色 Java

java - 关于布局管理器使用的困惑

java - Weblogic启动失败java.lang.NoClassDefFoundError : weblogic/Server