2010-01-19 46 views
0

正如标题所示,我有一个带滚动条界面的程序。问题是,该程序使用相同的三个滚动条的四组不同的号码,一旦更改已经到另一组数字作出滚动条保持在相同的值从一组数字滚动条事件处理,如何让数字保持静态

 float RedAmount1 = lightDimmer1.getValue(); 
     float GreenAmount1 = lightDimmer2.getValue(); 
     float BlueAmount1 = lightDimmer3.getValue(); 

     diffuseSwitch[0] = RedAmount1;   
     diffuseSwitch[1] = GreenAmount1; 
     diffuseSwitch[2] = BlueAmount1; 

     float StoreColours1[] = {RedAmount1,GreenAmount1,BlueAmount1}; 

     int StoreColourRed = (int)StoreColours1[0]; 
     int StoreColourGreen = (int)StoreColours1[1]; 
     int StoreColourBlue = (int)StoreColours1[2]; 

     if(diffuseSwitch[0] != StoreColourRed) 
     { 
     lightDimmer1.setValue(StoreColourRed); 
     } 

这的一段代码被放置在一个滚动条事件处理部分中,所以我试图比较float FloatColourRed和diffuseSwitch [0]的数字不断更改为最新一组数字的值,而不是保留以前的一组值。

任何帮助,将不胜感激

+0

你想要建立自己的'JColorChooser'吗? – 2010-01-19 17:37:36

+0

呃这不是一个系统来操纵四组灯光的颜色 – 2010-01-19 18:00:05

回答

1

用一个很简单的类来保存你的价值观,例如:

private static class MyColor { 
    float red, green, blue; 
} 

您应该能够使用getValueIsAdjusting()setValueIsAdjusting()来确定当值稳定。您可能还需要我们JRadioButtonJComboBox来选择正在操作哪组值。

附录:我在读这个问题时不小心认为JSlider。此外,调整可能无关紧要。 JTabbedPane是选择正在操作哪组值的另一种选择。

相关问题