Java 更改JSlider的单位移动
我想这是一个非常愚蠢的问题,但我想不出解决方案/如何向谷歌提出这个问题。基本上,我希望每次用户点击我的JSlider时,它每X个单位改变一次,而不是1个单位。我该怎么做呢?我在我的一个应用程序中就是这么做的。。。假设它是Java 更改JSlider的单位移动,java,swing,user-interface,jslider,Java,Swing,User Interface,Jslider,我想这是一个非常愚蠢的问题,但我想不出解决方案/如何向谷歌提出这个问题。基本上,我希望每次用户点击我的JSlider时,它每X个单位改变一次,而不是1个单位。我该怎么做呢?我在我的一个应用程序中就是这么做的。。。假设它是setMinorTickSpacing()和setMajorTickSpacing(): 这就是我在我的一个应用程序中所做的。。。假设它是setMinorTickSpacing()和setMajorTickSpacing(): 如另一个答案所述,您需要 将小刻度间距设置为希望其移
setMinorTickSpacing()
和setMajorTickSpacing()
:
这就是我在我的一个应用程序中所做的。。。假设它是
setMinorTickSpacing()
和setMajorTickSpacing()
:
如另一个答案所述,您需要
setSnapToTicks(true)
,使滑块在默认情况下以较小的刻度增量移动final JSlider slider = new JSlider(0, 100, 50);
slider.setMinorTickSpacing(5);
slider.setMajorTickSpacing(20);
slider.setPaintTicks(true);
slider.setPaintLabels(true);
slider.setSnapToTicks(true);
slider.addChangeListener(ce -> {
System.out.println("value: " + slider.getValue());
});
JOptionPane.showMessageDialog(null, slider);
如另一个答案所述,您需要
setSnapToTicks(true)
,使滑块在默认情况下以较小的刻度增量移动final JSlider slider = new JSlider(0, 100, 50);
slider.setMinorTickSpacing(5);
slider.setMajorTickSpacing(20);
slider.setPaintTicks(true);
slider.setPaintLabels(true);
slider.setSnapToTicks(true);
slider.addChangeListener(ce -> {
System.out.println("value: " + slider.getValue());
});
JOptionPane.showMessageDialog(null, slider);
关键实际上是这一行:
jSlider1.setSnapToTicks(true)代码>强制按小刻度度移动。1+终于!我的最大值、最小值和刻度间距与你相似,但snaptoticks是错误的。谢谢@学习大师:如果这个答案有帮助,那就考虑接受Stackoverflow,6分钟后,让我来做!关键实际上是这一行:jSlider1.setSnapToTicks(true)代码>强制按小刻度度移动。1+终于!我的最大值、最小值和刻度间距与你相似,但snaptoticks是错误的。谢谢@学习大师:如果这个答案有帮助,那就考虑接受Stackoverflow,6分钟后,让我来做!