オブジェクトを実装に渡してローカルオブジェクトを外部にあるオブジェクトに渡すにはどうすればよいですか?私は、SwingUtilities.invokeLaterはSwingオブジェクトのためのnessasaryだと思いますよね?オブジェクトを実装に渡してローカルオブジェクトを渡すにはどうすればよいですか?
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タイプの囲むインスタンスで修飾する必要があります(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);
}
}
は 'GUIthread'ローカルローカルクラスですか、それとも別ですか? –
編集中、混乱して申し訳ありません! – wizztjh