一起移动 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);
我目前正在为学校制作一个程序,我必须在调整 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);