我有两个要使用的JFrame滑块,第一个太设置最小值,第二个太设置最大值。显然,如果有人将最小值移到看起来不正确的最大值之后(也许行不通?那部分还不够)
我的问题是我不知道将最小值锁定为最大值(或下面的1)的方法。例如:最大值为15,最小值不能超过15,滑块锁定在15标记。
minSlider.setFont(minSlider.getFont());
minSlider.setMaximum(20);
minSlider.setMinimum(1);
minSlider.setToolTipText("");
minSlider.setValue(7);
minSlider.setCursor(new java.awt.Cursor(java.awt.Cursor.DEFAULT_CURSOR));
getContentPane().add(minSlider, new org.netbeans.lib.awtextra.AbsoluteConstraints(90, 170, 280, -1));
maxSlider.setMaximum(20);
maxSlider.setMinimum(1);
maxSlider.setToolTipText("");
maxSlider.setValue(14);
getContentPane().add(maxSlider, new org.netbeans.lib.awtextra.AbsoluteConstraints(90, 240, 280, -1));
jLabel1.setText("Min:");
getContentPane().add(jLabel1, new org.netbeans.lib.awtextra.AbsoluteConstraints(20, 180, -1, -1));
jLabel2.setText("Max:");
getContentPane().add(jLabel2, new org.netbeans.lib.awtextra.AbsoluteConstraints(20, 250, -1, -1));
答案 0 :(得分:0)
在您的addChangeListener()
上添加一个maxSlider
。
这将不断告诉最小滑块什么是最大值。
使用此代码:
maxSlider.addChangeListener(new ChangeListener() {
public void stateChanged(ChangeEvent e) {
minSlider.setMaximum(maxSlider.getValue());
}
});