将2个滑块移动到一起

时间:2018-05-24 02:43:08

标签: java swing jslider

我正在为学校制作一个程序,我必须在调整JSliders的同时锁定比率。

在更改第一个滑块时,我无法弄清楚如何使用相同的值更改一个滑块。 我想以1:1的比例更改滑块,所以如果我将宽度向上滑动5,长度也会增加5,但我无法弄清楚如何找到一个常数差来计算我何时更改值。

2 个答案:

答案 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);