doInBackground() swingworker メソッド内から、別のオブジェクトから大規模で複雑なメソッドを呼び出すために使用したい swingworker があります。
次のようになります。
public class HostGameTask extends SwingWorker<Void, String> {
@Override
protected Void doInBackground() throws Exception {
try {
SwingGUI.poker.StartGame(true,(SwingGUI.numberOfSlots.getSelectedIndex()+1));
} catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
return null;
}
@Override
protected void process(List<String> messages) {
String latestMessage = messages.get(messages.size()-1);
}
}
StartGame メソッドには while ループがあり、プレイヤーが参加するのを待ちます。Poker オブジェクトは、ネストされたクラスとして HostGameTask を持つ SwingGUI 内のオブジェクトです。
StartGame() 関数内からパブリッシュできますか?