Java 将JScrollBar值设置为double?
我正在尝试使用MVC设计模式实现一个程序,该模式允许用户在两个JTextField中输入值,然后这些值将计算并在JLabel中显示最终值。请参阅下面的代码片段Java 将JScrollBar值设置为double?,java,jscrollbar,Java,Jscrollbar,我正在尝试使用MVC设计模式实现一个程序,该模式允许用户在两个JTextField中输入值,然后这些值将计算并在JLabel中显示最终值。请参阅下面的代码片段 public void update(Observable o, Object arg){ if (o instanceof ShannonsModel){ ShannonsModel model = (ShannonsModel)o; bandwidthJTextField.setTex
public void update(Observable o, Object arg){
if (o instanceof ShannonsModel){
ShannonsModel model = (ShannonsModel)o;
bandwidthJTextField.setText(String.valueOf(model.getBandwidth()));
signalToNoiseJTextField.setText(String.valueOf(model.getSignalToNoise()));
maxDataRateJLabel.setText(String.valueOf(model.getMaximumDataRate()));
}
}
我已经做到了,但是我现在正在尝试实现相同的策略,但是我想使用JScrollBars而不是JTextFields来设置值。带宽和信号噪声是双值。有办法做到这一点吗
这就是我所尝试的:
public void update(Observable o, Object arg){
if (o instanceof ShannonsModel){
ShannonsModel model = (ShannonsModel)o;
bandwidthJScrollBar.setValue(Integer.parseInt(String.valueOf(model.getBandwidth())));
signalToNoiseJScrollBar.setValue(Integer.parseInt(String.valueOf(model.getSignalToNoise())));
maxDataRateJLabel.setText(String.valueOf(model.getMaximumDataRate()));
}
}
所以,基本上,你是在问如何将一个双精度值转换成一个整型值,对吗 这将截断:
int valueAsInt = (int) model.getBandwidth();
这一轮:
int valueAsInt = (int) Math.round(model.getBandwidth());