Я делаю график реального времени со значениями, которые поступают через последовательную связь. У меня есть данные, входящие в мою стоимость «Цельсия». Я показываю это в GUI в JLabel, поэтому значение постоянно меняется. Проблема, с которой я сталкиваюсь, - это иметь кнопки, которые могут изменить значение в JLabel до Fahrenheit или вернуться к Цельсию. Так что прямо сейчас у меня есть actionPerformed, вызывающий метод updateTemp(), чтобы он сразу же обновил JLabel, когда программа появилась. У меня есть код ниже для 3 методов, которые, как мне кажется, необходимо изменить.Обновление JLabel с разными значениями в графике реального времени
public void actionPerformed(final ActionEvent e) {
updateTempC();
final Double n = serial.x;
series.addOrUpdate(new Millisecond(), n);
Object source = e.getSource();
if (e.getSource() == buttonF){
degree.setText("degrees F");
updateTempF();
}
if (e.getSource() == buttonC){
degree.setText("degrees C");
updateTempC();
}
}
public void updateTempF(){
int step1;
int step2;
int step3;
String indata = serial.temp;
int temp = Integer.parseInt(indata);
step1 = temp*9;
step2 = step1/5;
step3 = step2 + 32;
String indata1 = Integer.toString(step3);
this.realtime.setText(indata1);
}
public void updateTempC(){
String indata = serial.temp;
this.realtime.setText(indata);
}
Прямо сейчас, когда я нажимаю JButton изменить градусы Фаренгейта, она меняется в течение секунды, а затем идет обратно к отображению по Цельсию, потому что график обновляется каждую секунду и actionPerformed будет идти обратно к вызывая updateTempC(). Мне интересно, как, когда я нажимаю кнопку для Фэра. или Cels., он будет изменяться в остальное время. Чанки
Пожалуйста, измените ваш пост выше, и повторно пост хорошо отформатированный код. Очень трудно читать и понимать все левые оправданные коды. Если вы просите нас приложить усилия, чтобы помочь вам, приложите немного усилий, чтобы не сделать ваш вопрос сложнее, чем должно быть. Логика вашего решения состоит в том, чтобы не отображать код отображения данных JLabels, а просто менять кнопки JLabels. –
Вызывается 'actionPerformed()', когда новые данные поступают из последовательного _and_, называемого be button, или он называется _only_ вами 'JButtons'? – 2013-03-09 23:46:45
@Java, я вызываю actionPerformed(), когда появляются новые данные, а также вызываемые кнопками на данный момент. – Patrick