私は作成中のゲームに実装する画像がいっぱいのassets
フォルダを持っており、これらをウィンドウに表示したい。これはこれまでの私のコードです。JavaFX ImageView画像が表示されない
public class javafxtest extends Application {
public void start(Stage primaryStage) throws Exception {
Group root = new Group();
Scene scene = new Scene(root, 600, 600);
Image test = new Image("file:assets/BA.png");
ImageView piece = new ImageView(test);
piece.setX(10);
piece.setY(10);
Rectangle rct = new Rectangle(50, 150, 500, 300);
rct.setFill(Color.GRAY);
root.getChildren().addAll(rct, piece);
primaryStage.setScene(scene);
primaryStage.show();
}
}
これは、IntelliJ /内でjarファイルから実行するためのプログラムです。 assetsフォルダは、このファイルと同じディレクトリにあります。私はファイルパスのエラーを取得するので、イメージを見つけることができると仮定しますが、画面に表示されず、四角形が表示されます。
公正な警告、私はゼロからJavaFXを学んでいますが、私は物事の仕組みについてはあまり説明がないことを知っています。だから、これは愚かな質問かもしれません。
場合はgetResource' '経由でアクセスする必要があります:'新しい画像(のgetClass()のgetResource( "/資産/ BA.png")toExternalForm()。。 ) ' – fabian
ちょうどintellijにする必要がありますので、上記の結果はnullポインタの例外になります – 420fedoras
あなたのプロジェクトにイメージを追加し、 'getRessource()'を使うか、イメージのフルパスを書く必要があります。 –