一起移动 2 个滑块

Moving 2 sliders together

我目前正在为学校制作一个程序,我必须在调整 JSlider 时锁定比例。

我不知道如何在更改第一个滑块时使一个滑块更改为相同的值。 我想以 1:1 的比例更改滑块,所以如果我将宽度向上滑动 5,长度也会增加 5,但是当我更改值。

在您的代码中,您正在根据 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);
  }
}

回答"how can you create 2 sliders with same model":

DefaultBoundedRangeModel brm = new DefaultBoundedRangeModel();
brm.setMaximum(100);
width = new JSlider(brm);
length = new JSlider(brm);