Я создал JSLider от 0 до 1 с шагом 0,1. Я написал следующий код для его реализации, но я не уверен, как извлекать значения из ползунка, поскольку функция getValue() только извлекает целочисленные значения. В моем случае он всегда выбирает 10 независимо от того, где я перемещаю слайдер. Пожалуйста, кто-нибудь скажет мне, как я могу получить двойные значения со своего слайдера.Извлечь двойное значение из настраиваемого 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);
}
}
});
Спасибо заранее.
С уважением, Colin
Сделать это работать с 0-10, так что ПолучитьЗначение может обеспечить значение, а затем разделить его на 10, чтобы получить то, что вы хотите. – Nabin