JSlider为双打

时间:2010-01-31 17:21:51

标签: java user-interface swing jslider

我正在为扑克框架制作一个GUI(使用swing)并需要某种滑块以允许玩家选择下注大小。但是,Swing JSlider仅适用于int值,而我需要能够支持1个小数点的双精度值。有没有我可以使用的库,或者使用JSlider

的技巧

2 个答案:

答案 0 :(得分:13)

您可以将该值乘以10

修改

您可以更改显示的标签,如下所示:

Hashtable labelTable = new Hashtable();
labelTable.put( new Integer( 0 ), new JLabel("0.0") );
labelTable.put( new Integer( 5 ), new JLabel("0.5") );
labelTable.put( new Integer( 10 ), new JLabel("1.0") );
framesPerSecond.setLabelTable( labelTable );

答案 1 :(得分:7)

可以与JSlider一起使用的技巧是以美分为单位使用。因此,如果您希望用户选择1到10美元之间的金额,您实际上将JSlider设置为100到1000的范围。然后,当用户选择值时,您只需将值转换为美元和美分。

然后,您可以使用值字典来指定滑块上任何值处显示的标签。请使用setLabelTable()方法。