問題タブ [javafx-11]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
1 に答える
763 参照

java - FXMLLoader.load() は、Java 9 より前のスタイルでは正常に動作しますが、モジュールでは失敗します

以下のように、3つのファイルとメインクラスを使用して、単純なJavaFX FXMLプログラム(Java 9以前のスタイルで、モジュールではありません)を正常に作成しました。

メインクラス

これは、NetBeans 9 と、javac および java を使用する DOS 端末の両方で完全に機能します。

さて、Javaモジュールで同じプログラムを作ってみました。以下は私のソース構造です:

モジュール情報.java

メインクラス名を除いて、残りのコードはすべて同じです。

これは NetBeans 9 でコンパイルされ、以下のように DOS ターミナルでコンパイルすることもできます。

コンパイル後、以下のようにFXMLDocument.fxmlファイルを mods ディレクトリに配置しました。

しかし、実行に失敗します。以下のように、NetBeans 9 と DOS 端末の両方で試しました。

エラーは次のステートメントから発生します。

この問題に関する投稿はたくさんありますが、Java モジュールでエラーが発生した場合の解決策が見つかりませんでした。以下のステートメントが機能するため、ファイルの場所の問題ではないと思います。

FXMLLoader.load()はモジュールでは機能しないようです。

非モジュール スタイルで動作する場合は、モジュールでも動作する必要があると思います。

実際のエラー メッセージは次のとおりです。はい、このエラーに関して多くの質問が寄せられましたが、Java モジュールで解決策を見つけることができませんでした) module-info.java またはコンパイルまたは実行コマンドで何か問題がありましたか?

0 投票する
1 に答える
168 参照

javafx - JavaFX の onSuceeded(...) メソッドが初めて呼び出されないのはなぜですか?

サーバーからデータを読み込もうとしています。ロードされたデータは、JavaFX ビューを介して表示されます。サービスを使用してネットワーク操作を実行しています。これには Apache HttpClients を使用しています。最初は、バグはネットワークに関連していると思いました。穴居人のスタイルのデバッグをいくつか行ったところ、バグがサービスに関連していることに気づきました。奇妙なことに、サービスは 2 回目の実行時に onSucceeded() メソッドを呼び出します (別のインスタンス、サービスを再起動していません)。サービスが onSucceeded() メソッドを 2 回目だけ呼び出す理由がわかりません。

ネットワーク操作を実行するために実装したサービス クラスを次に示します。

サービスを呼び出してデータをビューに挿入するメソッドを次に示します。

アプリケーションのログは次のとおりです。