3

Java SE7 で netbeans をインストールしましたが、javafx サンプルは正常に動作しています。シーンビルダーでは、コントローラーで定義および注釈が付けられた各コントロールの ID を選択できます@FXML。しかし、私は自分のプロジェクトが組織化されているのが好きです。新しいパッケージを作成し、FXML ファイルをそこ (myapp/views) に移動すると、コントローラーが元のルート (myapp) にとどまり、シーンビルダーで ID が見つからないようです。

FXML の「コントローラー クラス」については知っていますが、コントローラーを移動していないので変更しないでください。

より具体的には、コントローラーと fxml の両方がパッケージ「holidayapp」にある場合、機能します。fxml をサブパッケージの holidayapp/views に移動しても機能しません。コントローラークラスはそのまま

<AnchorPane id="AnchorPane" prefHeight="200" prefWidth="320" xmlns:fx="http://javafx.com/fxml" fx:controller="holidayapp.HolidayViewController">

HolidayViewController はルート パッケージに残っているためです。fxml ファイルをメイン パッケージからサブパッケージに移動するだけです。

シーンビルダーで holidayViewController の ID を確認したいと思います。サブパッケージ内の fxml をコンパイルして実行することは、まったく問題ありませんでした。

ありがとう

4

2 に答える 2

2

次の問題に悩まされている可能性があると思います。

https://bugs.openjdk.java.net/browse/JDK-8091793

そう思う場合は、この問題に投票および/またはコメントすることを検討してください。

于 2013-01-30T09:19:03.437 に答える
0

これを処理する方法は、メイン クラスをビュー (アプリケーションを拡張するもの) に配置することでした。これにより、Controller クラス、その変数、およびメソッドにアクセスできるようになりました。これは SceneBuilder 1.1 で機能します。

私は、NetBeans ではなく Eclipse を使用している場合にのみ話すことができるので、これを行っても何も起こらない可能性があります。

于 2013-07-10T06:59:23.853 に答える