[解決済み] JavaFXの画像がステージに表示されない
質問
何度も何度も試してみたのですが、思うように画像がステージに表示されないのです。javaがリソースを探すパスに関係があるのかもしれませんが、私はビジュアルライブラリ(この場合はJavaFX)を使い始めたばかりなので、よくわかりません。以下は、私のディレクトリ構造です。
MyProject
|_assets
| |_img
| |_myImage.jpg
|
|_some
|_other
|_folders
|
|_src
|_ve
|_org
|_project
|_MyProject.java
|_StratPage.fxml
|_StartPageController.java
を回収する必要があります。
myImage.jpg
をレンダリングするために、以下を試してみました。
1) 純粋なfxmlのアプローチ。
<ImageView id="logo" fx:id="logo" fitHeight="99.0" fitWidth="99.0" layoutX="14.0" layoutY="18.0" pickOnBounds="true" preserveRatio="true"> <image> <Image url="@../../../../assets/img/myImage.jpg" /> </image> </ImageView>
2) fxmlとjavaの両方を使用する。を宣言する。
ImageView
要素に
fx:id="logo"
から、画像を注入する。
StartPageController.java
このように
public class StartPageController implements Initializable {
@FXML
private ImageView logo;
@Override
public void initialize(URL url, ResourceBundle rb) {
this.logo = new ImageView("file:../../../../assets/img/myImage.jpg");
}
}
どちらの方法でも例外は発生せず、ただ画像が表示されないだけです。どうしたらいいのか全くわかりません。ご協力をお願いします。
更新情報
はじめに
ディレクトリ構造案を持つことをあきらめて、画像ファイルを同じフォルダの
StartPageController.java
. こうすることで
logo = new ImageView(new Image(getClass().getResourceAsStream("myImage.jpg")))
例外は発生していませんが、画像がレンダリングされていません。ライブラリがないのでしょうか?私はWindows 8環境で、Netbeans 8.0を使用しています。ご回答ありがとうございました。
第2回
Netbeansのプロジェクトプロパティで、アプリのパッケージングと配布を無効にしたところです。現在、画像は正しくレンダリングされていますが、ソフトウェアを配布する必要があるときに再び出現するため、問題が解決したとは思えません。どうか、助けがまだ必要です! :)
解決方法は?
私も同じエラーになりました。そこで、それを修正するために、私のプロジェクトの "src" と同じレベルの resources フォルダに私の画像を置きました。これは私のコードです、そしてそれは動作します。
public void showImage() {
try {
Image image = new Image("resources/img/akonolingaMap.jpg");
imageView.setImage(image);
imageView.setCache(true);
} catch (Exception e) {
printStackTrace();
}
}
関連
-
[解決済み] if / for / while 内で "Missing return statement" が発生する。
-
[解決済み】Eclipseで「JUnitテストが見つかりませんでした。
-
[解決済み] JavaFXアプリケーションアイコン
-
[解決済み] div' コンテナに合わせて画像を自動リサイズするにはどうしたらいいですか?
-
[解決済み] Could not find or load main class "とはどういう意味ですか?
-
[解決済み] div 内の画像を縦に並べる方法
-
[解決済み] Markdownで画像サイズを変更する
-
[解決済み] Bitmapオブジェクトに画像を読み込む際にOutOfMemoryが発生する問題
-
[解決済み] Androidでファイルをダウンロードし、ProgressDialogで進捗を表示する。
-
[解決済み] CSSによる画像の強制リサイズとアスペクト比の保持
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み] hibernateでResultSetを抽出できない。
-
[解決済み】Java、"変数名 "を変数に解決することができない
-
[解決済み】「'void' type not allowed here」エラーの原因とは?
-
[解決済み】「java -cp」と「java -jar」の違い?
-
[解決済み】Hibernateの例外「failed to lazily initialize a collection of role」の解決方法
-
[解決済み】Javaで文字列をコピーするにはどうしたらいいですか?
-
[解決済み】Javaメソッドスタブ
-
[解決済み】intがnullであるかどうかを確認する方法
-
[解決済み】Javaの".class expected "について
-
[解決済み] SQLエラー。0, SQLState: 08S01 通信リンクの失敗 [重複]。