如何将对象传递给工具并将本地对象传递给外部对象?我认为 SwingUtilities.invokeLater 对于 Swing 对象来说是必需的,对吧?
Sensors sens = new Sensors();
SwingUtilities.invokeLater(new Runnable() {
public void run() {
GUI application = new GUI(sens);
application.getJFrame().setVisible(true);
}
});
SMS sms = new SMS(application);
这是我尝试解决的问题,但我得到一个GUI 类型的没有封闭实例是可访问的。必须使用 GUI 类型的封闭实例来限定分配(例如 xnew A(),其中 x 是 GUI 的实例)。问题。
// in main
Sensors sens = new Sensors();
GUI application = null;
SwingUtilities.invokeLater(new GUIthread(sens , application));
SMS sms = new SMS(application);
//a class inside GUI.java , but not inside GUI class
class GUIthread implements Runnable{
Sensors s;
GUI g;
public GUIthread(Sensors s , GUI g){
this.s = s;
this.g = g;
}
@Override
public void run() {
// TODO Auto-generated method stub
g = new GUI(s);
g.getJFrame().setVisible(true);
}
}
源代码