java - 如何将changeHandler()添加到我的程序中

标签 java swing event-handling jslider changelistener

拜托,我尝试添加一个changeHandler 事件,但我认为我做得不对。我正在查看以下声明..

pickNum.addChangeListener(new ChangeHandler());

 @Override
 public void stateChanged(changeEvent e)
 {
   JSlider s = (JSlider)e.getSource();
   index = s.getValue();
 }

有什么事情我可以做得更好,因为它不起作用..

import javax.swing.*;

public class Slider extends JFrame{

public static int index;
JSlider pickNum = new JSlider(JSlider.HORIZONTAL,0,30,5);
public Slider()
{
 super("Slider");
 this.pack();
 this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

 pickNum.setMajorTickSpacing(10);
 pickNum.setMinorTickSpacing(1);
 pickNum.setPaintTicks(true);
 pickNum.setPaintLabels(true);
 pickNum.addChangeListener(new ChangeHandler());

 @Override
 public void stateChanged(changeEvent e)
 {
   JSlider s = (JSlider)e.getSource();
   index = s.getValue();
 }

 getPointedValue();
 this.add(pickNum);
 this.setVisible(true);

}

public final int getPointedValue()
{
    int value;
    value = pickNum.getValue();
    return value;
}


     public static void main(String[] args) {

    Slider frame = new Slider();
    System.out.println("value is :"+Slider.index);
   }

 }

[/CODE]

最佳答案

你的 ChangeHandler 是什么?您还没有发布该代码

这是使用更改监听器的示例


JSlider s = new JSlider();
s.addChangeListener(new ChangeListener() {
   public void stateChanged(ChangeEvent e) {
      System.out.println("Changed: " + e);
   }
});

关于java - 如何将changeHandler()添加到我的程序中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9957118/

相关文章:

java - JPanel 可能重叠?

Swing 和 JavaFX 并发

javascript - 数据列表 : detect if event input is launched by a click on item or a Key pressed

java - EMF Ecore 模型中列表类型属性允许的 "Default Value Literal"是什么?

java - 限制 App Engine 访问自定义域上的 G Suite 帐户

java - 使用spring存储过程调用oracle存储过程

java - 为什么使用 Offer() 在 java 中填充优先级队列会按字母顺序填充它,同时它还优先考虑大写单词?

java - 如何使用 JtextArea 添加滚动条并在 GUI 中实现 JScrollPane?

extjs - 如何将 onfocus 事件处理程序附加到 extJS 网格中的一行?

c# - 带有事件处理程序的 asp.net 动态按钮