Java 如何将JSlider参数从0设置为可以返回浮点的1
我正在尝试修改这个JSLider函数Java 如何将JSlider参数从0设置为可以返回浮点的1,java,swing,jslider,Java,Swing,Jslider,我正在尝试修改这个JSLider函数 public JSlider getSlider(int min, int max, int init, int mjrTkSp, int mnrTkSp) { JSlider slider = new JSlider(JSlider.HORIZONTAL, min, max, init); slider.setPaintTicks(true); slider.setMajorTickSpacing(mjr
public JSlider getSlider(int min, int max, int init, int mjrTkSp, int mnrTkSp) {
JSlider slider = new JSlider(JSlider.HORIZONTAL, min, max, init);
slider.setPaintTicks(true);
slider.setMajorTickSpacing(mjrTkSp);
slider.setMinorTickSpacing(mnrTkSp);
slider.setPaintLabels(true);
slider.addChangeListener(new SliderListener());
return slider;
}
我想设置最小值0和最大值1的范围,但我希望能够将0.1、0.2、0.3返回到最大值1(取决于用户的幻灯片值)
所以我尝试了sliderR=getSlider(0,1,0,50,5)代码>
不幸的是,这将只返回0或1,但我希望能够返回0、0.1 0.2 0.3等
谢谢你我的想法如下:不是从0到1逐步按0.1,而是从0到10逐步按1。然后,简单地将该值除以10,例如在ChangeListener
中,或者在您需要该值的任何地方。考虑使用JSpinner
,以double
为基础。@AndrewThompson我在想这个问题,但我会被迫抛出很多不理想的东西,“但我会被迫抛出很多东西”为什么?您是否知道SpinnerNumberModel.getNumber().doubleValue()
?@AndrewThompson感谢您的详细说明,但有些框需要浮点,并且有许多属性在浮点中初始化,因此我可能必须尝试强制转换(float)SpinnerNumberModel.getNumber().doubleValue(),这可能不需要强制转换,但是检查文档的好时机<代码>SpinnerNumberModel.getNumber().floatValue()是的!那正是我要做的,哈哈