0
有誰知道我將如何發送JSlider的事件處理程序中的選定值stateChanged
並將其設置爲全局變量?如何將JSlider選定值設置爲全局變量?
例如
public class Slider extends JPanel {
public JSlider slider;
public UserFrame frame;
public double[] priceRange;
public static void main(String[] args) throws ClassNotFoundException, SQLException {
new Slider();
}
public Slider() throws ClassNotFoundException, SQLException {
slider = new JSlider();
priceRange = new double[2];
slider.setBorder(BorderFactory.createTitledBorder("Maximum Price in SEK"));
/*
* The minimum and maximum values are queried from the database. Those
* values are then rounded up (maximum) to the nearest 10 SEK.
* For example, if the minimum is 67 SEK and the maximum 95 SEK, then
* the displayed range is [70, 100].
*/
int min = (getMinimumPrice()/10) * 10 + 10;
int max = (getMaximumPrice()/10) * 10 + 10;
slider.setMajorTickSpacing(10);
slider.setMinorTickSpacing(5);
slider.setMinimum(min);
slider.setMaximum(max);
slider.setPaintTicks(true);
slider.setPaintLabels(true);
add(slider);
}
public void stateChanged(ChangeEvent e) {
JSlider source = (JSlider)e.getSource();
if (!source.getValueIsAdjusting()) {
slider.getModel().setValue(slider.getModel().getValue());
priceRange[0] = slider.getModel().getValue();
}
}
}
...等等,忽略了方法getMinimum
和getMaximum
他們只是在我的數據庫中檢索的最高和最低值,但可以說我想要當用戶有發生發佈JSlider旋鈕是將其設置爲priceRange[0]
。我將如何能夠做到這一點?我曾嘗試創建一個模型,並設置與stateChanged每次我在我的主組碼附加的東西,像這樣一個ActionListener外還...
priceRange[0] = slider.getModel().getValue();
,然後打印出該結果,並獲得最低限度我也設置它。
我真的很感激任何進一步的建議。
有一個偉大的即將到來的假期! :)
一切順利, 馬庫斯