我需要制作一个类似于RGB选择器的程序,我的窗口中有多个滑块(sliderR,sliderG,sliderB),但是我不知道如何使这些滑块立即改变颜色,唯一的是下面的滑块代码:
sliderR.addChangeListener(new ChangeListener() {
@Override
public void stateChanged(ChangeEvent ce) {
int x = sliderR.getValue();
int y = sliderG.getValue();
area.setText("value = \n\n "+x);
Color ColorR = new Color(x,y,0);
area.setBackground(ColorR);
}
});
但是,此代码仅针对sliderR有所变化,sliderG是静态的。我该如何解决这个问题?
最佳答案
问题可能是您没有将侦听器添加到两个滑块中。
尝试这个:
ChangeListener listener = new ChangeListener() {
@Override
public void stateChanged(ChangeEvent ce) {
int x = sliderR.getValue();
int y = sliderG.getValue();
area.setText("value = \n\n "+x);
Color ColorR = new Color(x,y,0);
area.setBackground(ColorR);
}
});
sliderR.addChangeListener(listener);
sliderG.addChangeListener(listener);
// Add the listener to any other sliders you want to have this behavior.