2017-01-08 9 views
0

私はjScrollbarを持っています。スクロールすると(値は0から100までです)、テキストフィールドに値を表示したいと思います。 これはJScrollBarの入力値にJScrollBarの値を設定します

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

から値を取得する方法ですが、私はcannot make static reference to non-staticエラーが出るように私は入力にそれを置くことはできません。

ご協力いただければ幸いです!

答えて

1

スコープまたはクラス属性で変数を使用するかどうかを選択できます。

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(); 
    } 
} 
+0

ありがとうございました! –

+0

あなたは大歓迎です! ;-) – Aubin

関連する問題