クラス 2 (GUI) のインスタンスを作成するクラス 1、GUI を実装するクラス 2、GUI を更新しようとするクラス 3 の 3 つのクラスがあります。
クラス 1 では、次のような GUI を作成します。
s = new ServerSocket(6067);
//while(true){
Socket ClientSocket = s.accept(); // Accept connections
// Create instance of the GUI (class 2) on a new thread
work w = cpd.new work();
Thread t = new Thread(w);
t.start();
// Create instance of class 3 that uses the GUI on a new thread
Charger cpt = new ChargingPoint(ClientSocket, w.gui);
cpt.start();
//}
class work implements Runnable{
GUI gui;
public void run(){
try{
gui = new GUI();
gui.setVisible(true);
}
catch(Exception e){}
}
}
クラス 2 では、GUI を実装し、次のような更新を可能にするメソッドがいくつかあります。
public void updateConsole(String text){
Console.append(text + "\n");
}
クラス 3 では、以下のようにこれらのメソッドを使用しようとしましたが、次のようなステートメントに達するとコードがスタックします。
gui.updateConsole("Data: " + data);
これは、メインクラスとして GUI クラス (クラス 2) を使用していたときに機能しました。このインスタンスを他のすべてのクラスに渡しました。これにより、問題なく GUI を更新できました。ただし、今回は別のクラス (クラス 1) から GUI を作成していますが、このメソッドが機能しなくなり、その理由を突き止めるのに苦労しています。
どんな提案でも大歓迎です。