0

JSlider の値を読み取るには?

プログラムでスライダーを使用していますが、以前は使用したことがありませんが、スライダーに加えられた変更を表示するのに苦労しています!

問題は、JLabelプログラムを開いたときにスライダーの値 (50) が表示されますが、値を変更してもラベルが表示されないことです。

コードは次のとおりです。

スライダーの設定 (setUpMenuItems クラス内):

sensitivitySlider2 = new JSlider();//direction , min , max , current
sensitivitySlider2.setFont(new Font("Calibri",Font.BOLD,10));
sensitivitySlider2.setMajorTickSpacing(10);
sensitivitySlider2.setMinorTickSpacing(1);
sensitivitySlider2.setPaintLabels(true);
sensitivitySlider2.setPaintTicks(true);
sensitivitySlider2.setPaintTrack(true);
sensitivitySlider2.setAutoscrolls(true);
sensitivitySlider2.setBackground(Color.WHITE);

sensitivitySlider2.setBounds (15,200,250,100);

propertiesPanel.add(sensitivitySlider2);

リスナーの確立:

private void registerComponentsForEvents()
  {
    // Register all the JButton objects for action events

    miniButton.addActionListener (this);
    applyButton.addActionListener (this);
    exitButton.addActionListener (this);
    sensitivitySlider2.addChangeListener(this);


  }

ウィンドウリスナーと具象化するメソッドの宣言:

void addWindowListener(Window w) {
      w.addWindowListener(this);
    }

//React to window events.


    public void windowOpened(WindowEvent e) {
    }

    public void windowClosing(WindowEvent e) {
    }

    public void windowClosed(WindowEvent e) {
    }

    public void windowActivated(WindowEvent e) {
    }

    public void windowDeactivated(WindowEvent e) {
    }

    public void windowDeiconified(WindowEvent e) {
    }

    public void windowIconified(WindowEvent e) {
    }

変更イベント:

  public void stateChanged(ChangeEvent e) {
          JSlider source = (JSlider)e.getSource();
          if (!source.getValueIsAdjusting()) {
              int sleepSense = (int)source.getValue();


    }
}    

次に、次の行で JLabel を値として設定します。

sleepSense2 = String.valueOf(sleepSense);
4

1 に答える 1