Java ImageView没有出现在屏幕上

时间:2016-01-10 20:28:30

标签: java javafx

好的,这就是我使用的代码。其中大部分来自JavaFX教程here

我希望我的程序在点击按钮时加载图片。但它会进行打印,但不会加载图片。

    import javafx.application.Application;
    import javafx.event.ActionEvent;
    import javafx.event.EventHandler;
    import javafx.scene.Scene;
    import javafx.scene.control.Button;
    import javafx.scene.layout.StackPane;
    import javafx.stage.Stage;
    import javafx.scene.image.*;;

    public class Browser extends Application {


        @Override
        public void start(Stage primaryStage) {

            Button btn = new Button();
            btn.setText("Test");
            Image ph1 = new Image("ph1.jpg");
            ImageView disp1 = new ImageView();


            btn.setOnAction(new EventHandler<ActionEvent>() {

                @Override
                public void handle(ActionEvent event) {
                    System.out.println("Test1"); 

                    disp1.setImage(ph1);

                    System.out.println("Test2");
                }
            });

            StackPane root = new StackPane();
            root.getChildren().add(btn);

     Scene scene = new Scene(root, 300, 250);

            primaryStage.setTitle("Test");
            primaryStage.setScene(scene);
            primaryStage.show();

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

        }
    }

1 个答案:

答案 0 :(得分:0)

您尚未将disp1 ImageView添加到root StackPane

试试这个:

StackPane root = new StackPane();
root.getChildren().add(btn);
root.getChildren().add(disp1);