0
我創建了一個從0到1的JSLider,增量爲0.1。我寫了下面的代碼來實現它,但我不知道如何從滑塊中獲取值,因爲函數getValue()僅獲取整數值。在我的情況下,無論移動滑塊的位置如何,它總是取10。請任何人都可以告訴我如何從我的滑塊獲取double值。從定製JSlider獲取雙倍值
slider=new JSlider();
slider.setMajorTickSpacing(1);
slider.setMaximum(10);
slider.setPaintLabels(true);
slider.setPaintTicks(true);
slider.setPreferredSize(new java.awt.Dimension(230, 46));
Format f = new DecimalFormat("0.0");
Hashtable<Integer, JComponent> labels = new Hashtable<Integer, JComponent>();
for(int i=0;i<=10;i++){
JLabel label = new JLabel(f.format(i*0.1));
label.setFont(label.getFont().deriveFont(Font.PLAIN));
labels.put(i,label);
}
slider.setLabelTable(labels);
以下爲聽衆
slider.addChangeListener(new ChangeListener() {
public void stateChanged(ChangeEvent event) {
if(!slider.getValueIsAdjusting())
{
double value = slider.getValue();
System.out.println("value"+value);
}
}
});
提前感謝代碼。
問候, 科林
使其從0-10工作,使的getValue所能提供的價值,然後除以10它來得到你想要的。 – Nabin