【发布时间】:2014-05-30 09:58:09
【问题描述】:
如果我在 DisplayForm.java GUI 中按下 connectBtn,我想在 DisplayForm.java GUI 中获得 device connected: true JLabel,但我无法获得变量 String connected = "true";当我在 DisplayForm.java 中按下 connectBtn 时,从 ArduinoDisplay.java 到 DisplayForm.java connectedDevice JLabel。
ArduinoDisplay.java 的一部分
String connected = "";
public void initialize() {
if (portId == null) {
System.out.println("Could not find COM port.");
connected = "False";
System.out.println("CONNECTED: " + connected + " PORT: " + devCom);
return;
} else if( portId != null) {
connected = "True";
System.out.println("CONNECTED: " + connected + " PORT: " + devCom);
} else {
connected = "False";
System.out.println("CONNECTED: " + connected + " PORT: " + devCom);
}
}
public static void main(String[] args) throws Exception {
ArduinoDisplay main = new ArduinoDisplay();
main.initialize();
// Start GUI
DisplayForm gui = new DisplayForm();
gui.setVisible(true);
}
DisplayForm.java 的一部分
private void connectBtnActionPerformed(java.awt.event.ActionEvent evt) {
ArduinoDisplay ad = new ArduinoDisplay();
String devCon = ad.connected;
deviceConnected.setText(devCon);
}
如果需要更多代码,请告诉我,谢谢
【问题讨论】:
-
两个类是否在同一个包中?
-
是的,两者都在 arduinodisplay 包中
-
您从 ArduinoDisplay.java 提供的代码在单击按钮之前执行了吗?
-
如果确实有关于端口的问题,那么您在 Swing 中遇到了 Concurency 的问题,更多的是在同名的 Oracle 教程中,每天 2-10 次关于 EDT 问题的问题
-
MihailBurduja,我要求将 DisplayForm 设置为在 ArduinoDisplay 中可见,所以是的,ArduinoDisplay 在单击按钮之前运行。@mKorbel 你的意思是“如果真的有关于端口的东西? "
标签: java swing class user-interface