我想创建一个GUI,在其中我显示动态数量的行,其中包含JSlider和显示值的JLabel(参见模型)。
现在我必须在相关滑块的更改上更新每个标签。我想使用一个常见的ActionListener。我认为有一些类似于JButton的ActionCommand来识别哪个滑块确实发生了变化。但是没有: - (
我唯一的想法是存储一个带有key = slider引用和value = label引用的HashMap。有更优雅的解决方案吗?
编辑: 我的意思是更优雅:不需要存储滑块和标签的引用,所以在更改行数时我不必更新HashTable。
答案 0 :(得分:1)
这样的事情应该有效
public class MyClass implements ActionListener() {
JSlider slider1 = new JSlider();
JSlider slider2 = new JSlider();
@Override
public void actionPerformed(ActionEvent e) {
if (e.getSource() == slider1) {
//do logic for slider 1
} else if (e.getSource() == slider2) {
//do logic for slider 2
}
//etc...
}
//rest of class here
}