2015-02-28 3 views
0

Я пытаюсь реализовать программу с использованием шаблона проектирования MVC, которая позволяет пользователям вводить значения в два JTextFields, и тогда эти значения будут вычислять и отображать конечное значение в JLabel. См. Фрагмент кода ниже.Установить значение JScrollBar как двойное?

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())); 

    } 
} 

У меня есть это работает, но я сейчас пытаюсь реализовать ту же стратегию, но я хочу использовать вместо компонента JScrollBar JTextFields для установки значений. Полоса пропускания и signalToNoise являются двойными значениями. Есть ли способ сделать это?

Это то, что я пытался:

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())); 
    } 
} 

ответ

0

Так, в принципе, вы спрашиваете, как преобразовать двойное значение целочисленное значение, не так ли?

Это укорачивает:

int valueAsInt = (int) model.getBandwidth(); 

И это округляет:

int valueAsInt = (int) Math.round(model.getBandwidth());