JavaFXでIllegalStateExceptionが出たので書き直しをしていました
書き直したことをまとめるとRunnableを使っていた部分をServiceに変更しました
ソースです
Java
1public void StartEasy () { 2 new StartEasy().start(); 3} 4 5public class StartEasy extends Service<Void> { 6 protected Task<Void> createTask() { 7 return new SetEasy(); 8 } 9} 10 11public class SetEasy extends Task<Void> { 12 protected Void call() throws Exception { 13 Platform.runLater(new Th_Easy()); 14 return null; 15 } 16} 17 18public class Th_Easy implements Runnable { 19 public void run() { 20 Main.setScene(new GameField()); //←ウィンドウ上にあるNodeを操作するコードが書かれてます 21 } 22}
JavaFX8からPlatform.runLater();を使用しないとウィンドウ内のNode等の操作ができないと聞いたのでこのようなソースにしてみました
StartEasy();が呼び出されるとMain.setScene(new GameField());が非同期処理で実行されると思ったのですがうまく実行されません
何か問題があるのでしょうか?
簡単なミスかも知れませんがよろしくお願いします
誰でも構いません
何か間違っていそうな部分があれば指摘シてくださるとありがたいです
回答1件
あなたの回答
tips
プレビュー