zoukankan      html  css  js  c++  java
  • java基础:10.2 Java FX之显示图片

    从14.1中,我们知道了几个定义。

    Stage(舞台) > Scene(场景) > Pane(面板) > node(节点)

    面板的作用:为了更好地构造不同的界面,可以借助各种面板来进行布局。容器类。自动地将节点布局在一个希望的位置和大小。将节点置于一个面板中,然后将面板再置于一个场景中。将节点置于一个面板中,然后将面板再置于一个场景中JavaFX提供了多种面板供我们使用,方便我们进行不同风格的布局。

    节点是可视化组件,比如一个形状、一个图像视图、一个UI 组件或者一个面板。

    形状是指文字、直线、圆、椭圆、矩形、弧、多边形、折线等。

    UI 组件是指标签、按钮、复选框、单选按钮、文本域、文本输入区域等。

    Scene 可以包含Control 或者Pane, 但是不能包含Shape 和ImageView。

    Pane可以包含Node 的任何子类型。

    可以使用构造方法Scene(Parent, width, height)或者SCene(Parent)创建 Scene。后一个构造方法中场景的尺寸将自动确定。

    Node的每个子类都有一个无参的构造方法,用于创建一个默认的节点。
     


    创建一个窗口,我的步骤:

    1 、建立一个面板pane,设置属性。

    Pane pane = new HBox(10);
    pane.setPadding(new Insets(5,5,5,5));

    2 、建立一个场景scene

    Scene scene2 = new Scene(pane,200,200);

    3 、创建需要的节点,添加到第1步建立的面板容器里

         Image image = new Image("https://img-blog.csdnimg.cn/20190125135919960.png");
    	pane.getChildren().add(new ImageView(image));
     		
    	ImageView imageview2 = new ImageView(image);
    	imageview2.setFitHeight(30);
    	imageview2.setFitWidth(30);
    	pane.getChildren().add(imageview2);
    	
    	ImageView imageview3 = new ImageView(image);
    	imageview3.setRotate(90);
    	pane.getChildren().add(imageview3);

    4 、设置舞台

    	Stage stage2 = new Stage();
    	stage2.setTitle("show image example");
    	stage2.setScene(scene2);
    	stage2.show();

    完整的程序如下:

    import javafx.application.Application;
    import javafx.scene.Scene;
    import javafx.scene.control.Button;
    import javafx.scene.control.Label;
    import javafx.scene.image.Image;
    import javafx.scene.image.ImageView;
    import javafx.stage.Stage;
    import javafx.scene.layout.HBox;
    import javafx.scene.layout.Pane;
    import javafx.scene.layout.StackPane;
    import javafx.scene.paint.Color;
    import javafx.scene.shape.Circle;
    import javafx.scene.text.Font;
    import javafx.scene.text.FontPosture;
    import javafx.scene.text.FontWeight;
    import javafx.geometry.Insets;
    
    public class MyJavaFX extends Application {
    	
        @Override // Override the start method in the Application class
        public void start(Stage primaryStage) {     //set a primary stage
        
        ...
         
     
    	Pane pane = new HBox(10);
    	pane.setPadding(new Insets(5,5,5,5));
    	
        Scene scene2 = new Scene(pane,200,200);
    	Image image = new Image("https://img-blog.csdnimg.cn/20190125135919960.png");
    	pane.getChildren().add(new ImageView(image));
     		
    	ImageView imageview2 = new ImageView(image);
    	imageview2.setFitHeight(100);
    	imageview2.setFitWidth(100);
    	pane.getChildren().add(imageview2);
    	
    	ImageView imageview3 = new ImageView(image);
    	imageview3.setRotate(90);
    	pane.getChildren().add(imageview3);
    	
    	Stage stage2 = new Stage();
    	stage2.setTitle("show image example");
    	stage2.setScene(scene2);
    	stage2.show();

  • 相关阅读:
    轮播无缝
    项目开发的注意
    再聊移动端页面的适配
    如何在Vue项目中使用vw实现移动端适配
    移动端适配文章
    vue-cli 配置flexible px2rem-loader安装配置
    vuex复习笔记
    vue-router复习笔记
    vue-cli 笔记
    内置组件 -slot讲解
  • 原文地址:https://www.cnblogs.com/l20902/p/10610916.html
Copyright © 2011-2022 走看看