我需要制作一个类似于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.

10-04 19:02