Java
 Computer >> コンピューター >  >> プログラミング >> Java

JavaでJSliderの値の変化を検出する方法は?


JSlider JComponentのサブクラスです クラスであり、ユーザーが指定された範囲の整数値から数値を選択できるスクロールバーに似ています。 JSlider ノブがあります これは、値の範囲をスライドでき、特定の値を選択するために使用できます。 ChangeListenerを生成できます インターフェイス。

Graphics2D を使用して、スライダーを水平方向に動かしたときに変化した値を検出できます クラスとオーバーライドpaint() メソッド。

import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
import javax.swing.event.*;
public class ValueChangeJSliderTest extends JFrame {
   private JSlider slider;
   public ValueChangeJSliderTest() {
      setTitle("ValueChangeJSlider Test");
      slider = new JSlider(JSlider.HORIZONTAL, 0, 20, 1);
      slider.addChangeListener(new ChangeListener() {
         public void stateChanged(ChangeEvent ce) {
            repaint();
         }
      });
      setLayout(new BorderLayout());
      slider.setBackground(Color.white);
      slider.setMajorTickSpacing(1);
      slider.setPaintTicks(true);
      slider.setPaintLabels(true);
      add(slider, BorderLayout.NORTH);
      setSize(400, 300);
      setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
      setLocationRelativeTo(null);
      setVisible(true);
   }
   public void paint(Graphics g) {
      super.paint(g);
      Graphics2D g2d = (Graphics2D) g;
      g2d.setFont(new Font("Serif", Font.ITALIC, 25));
      g2d.drawString(""+slider.getValue(), 200, 130);
   }
   public static void main(String[] args) {
      new ValueChangeJSliderTest();
   }
}
出力

JavaでJSliderの値の変化を検出する方法は?


  1. JSliderでエクステントを設定するJavaプログラム

    スライダーの範囲を設定するには、setExtent()メソッドを使用します。ノブがカバーする範囲のサイズを設定します- JSlider slider = new JSlider(JSlider.HORIZONTAL, 0, 100, 70); slider.setMinorTickSpacing(5); slider.setMajorTickSpacing(20); slider.setPaintTicks(true); slider.setPaintLabels(true); slider.setExtent(20); 以下は、JSliderで範囲を設定する例です- 例 package m

  2. Tkinterでスケールを使用してエントリウィジェットの値を変更するにはどうすればよいですか?

    Tkinter Entryウィジェットは、単一行のユーザー入力のみをサポートする入力ウィジェットです。入力に制限が設定されていない限り、または設定されていない限り、テキストフィールドのすべての文字を受け入れます。スケールウィジェットを使用して、エントリウィジェットの値を変更できます。スケールウィジェットには、ユーザーが特定の範囲で値を調整することを制限する、より低い値としきい値が含まれています。 スケールウィジェットの値を更新しながらエントリウィジェットの値を更新するには、スケールとエントリウィジェットの両方に指定する必要がある変数を作成する必要があります。 例 #Import the Tk