0

我需要制作一个像 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);         
    }
});

但是,此代码仅适用于滑块 R,滑块 G 是静态的。我该如何解决这个问题?

4

1 回答 1

1

问题可能是您没有将侦听器添加到两个滑块。

尝试这个:

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.
于 2017-04-22T01:53:03.357 回答