質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
JavaFX

JavaFXとは、Java仮想マシン上で動作するリッチインターネットアプリケーション (RIA) のGUIライブラリです。Swingとは異なり、FXMLと呼ばれる XMLとCSSを併用してデザインを記述します。

FXML

FXMLは、JavaFXに用意されているXMLベースのGUI記述言語です

Q&A

1回答

472閲覧

Scene BuliderのImageView内に表示される画像を、ソースコード内から変更したい。

maneki

総合スコア12

JavaFX

JavaFXとは、Java仮想マシン上で動作するリッチインターネットアプリケーション (RIA) のGUIライブラリです。Swingとは異なり、FXMLと呼ばれる XMLとCSSを併用してデザインを記述します。

FXML

FXMLは、JavaFXに用意されているXMLベースのGUI記述言語です

0グッド

0クリップ

投稿2019/07/20 15:09

前提・実現したいこと

Scene BuliderのImageView内に表示される画像を、ソースコード内から変更したいのですが、
実行画面に何も表示されません。

該当のソースコード

Java

1package sample; 2import javafx.application.Application; 3import javafx.fxml.*; 4import javafx.scene.*; 5import javafx.stage.Stage; 6import javafx.scene.image.*; 7 8public class Sample extends Application{ 9 @FXML 10 ImageView imv; 11 12 @Override 13 public void start(Stage stage) throws Exception{ 14 Parent root = FXMLLoader.load(getClass().getResource("FXMLDocument.fxml")); 15 Image img = new Image("file:one.jpg"); 16 imv = new ImageView(img); 17 imv.setImage(img); 18 19 Scene scene = new Scene(root); 20 stage.setTitle("first"); 21 stage.setScene(scene); 22 stage.show(); 23 } 24 25 public static void main(String[] args) { 26 launch(args); 27 } 28 29} 30

FXML

1<?xml version="1.0" encoding="UTF-8"?> 2 3<?import javafx.scene.image.ImageView?> 4<?import javafx.scene.layout.AnchorPane?> 5 6<AnchorPane id="AnchorPane" prefHeight="345.0" prefWidth="615.0" xmlns="http://javafx.com/javafx/11.0.1" xmlns:fx="http://javafx.com/fxml/1" fx:controller="para.FXMLDocumentController"> 7 <children> 8 <ImageView id="imv" fitHeight="345.0" fitWidth="615.0" pickOnBounds="true" preserveRatio="true" /> 9 </children> 10</AnchorPane>

試したこと

SceneBuilder内のImageViewで、src内にある画像を参照したときは、表示されました。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答1

0

Scene Builder(FXML)に定義したImageViewをJavaコードから扱うには、Scene BuilderのImageViewにfx:id属性に、Javaコードの@FXMLアノテーション付与した変数名を定義する必要があります。
JavaコードでImageViewをnewすると、Scene Builderで画面に貼ったImageViewとは別のインスタンスとなってしまいます。

投稿2019/07/30 10:13

boochnich

総合スコア194

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

まだベストアンサーが選ばれていません

会員登録して回答してみよう

アカウントをお持ちの方は

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問