动态运行时Java监听器

时间:2011-05-09 04:41:49

标签: java dynamic listener jslider

我想知道如何动态创建让我们在运行时说一堆JSliders并为每个滑块添加监听器?我试过这样做是通过创建一个JSliders数组,就像下面显示的代码一样,但不确定如何为运行时构建的每个滑块创建监听器。显然下面的代码也无法正确编译,这只是我所创建内容描述的重要部分的信息:

private JSlider slider[] = new JSlider[100];

for(int i=1; i<=numinputed; i++)
{
    slider[i] = new JSlider();
}       

由于我没有看到谷歌这个问题的任何答案,感觉就像在stackoverflow问这里。这只是为了学习目的,希望有人能指出我正确的方向,谢谢:)

1 个答案:

答案 0 :(得分:2)

您可以拥有一个监听器类

class SliderChangeListener implements ChangeListener{
    public void stateChanged(ChangeEvent e){
       // use e.getSource() to get the slider instance.
    } 
}

并共享滑块的侦听器实例。

SliderChangeListener listener = new SliderChangeListener();

for(int i=1; i<=numinputed; i++)
{
    slider[i] = new JSlider();
    slider[i].addChangeListener(listener);
}