我正在为学校制作一个程序,我必须在调整JSliders的同时锁定比率。
在更改第一个滑块时,我无法弄清楚如何使用相同的值更改一个滑块。 我想以1:1的比例更改滑块,所以如果我将宽度向上滑动5,长度也会增加5,但我无法弄清楚如何找到一个常数差来计算我何时更改值。
答案 0 :(得分:1)
在您的代码中,您要根据length.getValue
设置长度值,但您希望将长度设置为宽度更改,反之亦然。所以我建议你设置length.setValue(width.getValue());
if(lkRatio.isSelected() !=true){
tempw = width.getValue();
templ = length.getValue();
diff = width.getValue() - length.getValue();
}
if(lkRatio.isSelected()){
if(source == width){
length.setValue(width.getValue() - diff);
}
if(source == length){
width.setValue(length.getValue() + diff);
}
}
答案 1 :(得分:1)
要回答"如何创建2个具有相同型号的滑块" :
DefaultBoundedRangeModel brm = new DefaultBoundedRangeModel();
brm.setMaximum(100);
width = new JSlider(brm);
length = new JSlider(brm);