Wie kann ich ein Bild mit der Bildansicht Komponente in javafx und fxml?

Ich nehme an, es ist eine sehr einfache Sache, aber ich bekomme einfach nicht dahinter.
Alles was ich will ist, zu zeigen, ein Bild über eine Bildansicht verbunden mit fxml.
Hier ist mein code:

package application;

import java.io.File;

import javafx.application.Application;
import javafx.stage.Stage;
import javafx.scene.Scene;
import javafx.scene.image.Image;
import javafx.scene.image.ImageView;
import javafx.scene.layout.AnchorPane;
import javafx.fxml.FXML;
import javafx.fxml.FXMLLoader;


public class Main extends Application
{
    @FXML
    private ImageView imageView;

    @Override
    public void start(Stage primaryStage) 
    {
        try 
        {
        AnchorPane root = (AnchorPane)FXMLLoader.load(getClass().getResource("Sample.fxml"));
        Scene scene = new Scene(root,400,400);
        scene.getStylesheets().add(getClass().getResource("application.css").toExternalForm());
        primaryStage.setTitle("Hello World");

        File file = new File("src/Box13.jpg");
        Image image = new Image(file.toURI().toString());
        imageView = new ImageView(image);

        //root.getChildren().add(imageView);
        primaryStage.setScene(scene);
        primaryStage.show();
    } catch(Exception e) {
        e.printStackTrace();
    }
}

public static void main(String[] args) {
    launch(args);
}
}

Und meine fxml-Datei

<?xml version="1.0" encoding="UTF-8"?>

<?import java.lang.*?>
<?import javafx.scene.image.*?>
<?import javafx.scene.layout.*?>
<?import javafx.scene.layout.AnchorPane?>

<AnchorPane prefHeight="316.0" prefWidth="321.0" xmlns:fx="http://javafx.com/fxml/1"     xmlns="http://javafx.com/javafx/2.2" fx:controller="application.SampleController">
  <children>
    <ImageView fx:id="imageView" fitHeight="150.0" fitWidth="200.0" layoutX="61.0" layoutY="83.0" pickOnBounds="true" preserveRatio="true" >

    </ImageView>
  </children>
</AnchorPane>

Sollte es keine problem mit der Datei verknüpfen, wie es funktioniert, wenn ich den outcommented Linie. Das wäre so, wie es in java erfolgt nur, aber ich will fxml hier bin ich mit fxml für alle anderen Komponenten, aber es funktioniert einfach nicht für die Bildansicht und ich weiß nicht, warum. Ich habe auch versucht, erstellen Sie eine neue controller-Klasse und verknüpfen Sie die Bildansicht es aber, dass weder funktioniert. Kann mir jemand helfen?

Dank

InformationsquelleAutor user3472050 | 2014-03-28

Schreibe einen Kommentar