我正在通过串行通信进行实时图形绘制。我有数据进来称为我的“摄氏”值。我在JLabel的GUI中显示,所以值不断变化。我遇到的问题是我想要具有可以将JLabel中的值更改为华氏度或返回摄氏度的按钮。所以现在,我有我的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显示摄氏度()。我想知道,当我按下Fahr的按钮时。或Cels。,它会在其余时间改变。 THanks
请编辑您的帖子上方并重新发布格式正确的代码。阅读和理解所有左对齐的代码是非常困难的。如果您要求我们尽力帮助您,请尽量不要让您的问题比应该更难。解决方案背后的逻辑是没有将数据显示代码设置为JLabel,而只是让按钮更改JLabel。 – 2013-03-09 23:01:34
当新数据从串口被调用时调用'actionPerformed()',称为是按钮,还是称为'JButtons'的_only_? – 2013-03-09 23:46:45
@Java,我有actionPerformed()被调用,当新的数据来的时候以及由按钮调用的那一刻。 – Patrick 2013-03-10 02:07:53