首页 > 解决方案 > 一起移动 2 个滑块

问题描述

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

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

标签: javaswingjslider

解决方案


在您的代码中,您基于 设置长度值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);
  }
}

推荐阅读