java 10 fx_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();

b3851553dade4b420ba54c3ae977e078.png

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值