从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();

java fx scen,java基础:10.2 Java FX之显示图片相关推荐

  1. 深受Java程序员欢迎的10款Java IDE

    概述:Java是全世界最受欢迎的一门程序语言,它被广泛的应用于企业项目.游戏设计.安卓应用程序等开发领域.以下的列表是整理的近些年来深受Java程序员欢迎的10款Java IDE. Java是全世界最 ...

  2. Java编程语言学习:Java语言编程的基础知识之Java的变量与数据类型、符号、运算符、数组Array总结之详细攻略

    Java编程语言学习:Java语言编程的基础知识之Java的变量与数据类型.符号.运算符.数组Array总结之详细攻略 目录 Java语言编程的基础知识之Java的变量与数据类型.符号.运算符.数组总 ...

  3. java peek函数_基础篇:JAVA.Stream函数,优雅的数据流操作

    写在开头:本文是转载于掘金上的一篇文章,已获得原作者授权,我会在文章最后放上原作者和原文链接. 前言 平时操作集合数据,我们一般都是for或者iterator去遍历,不是很好看.java提供了Stre ...

  4. java单线程循环调度_Java基础篇之Java线程模型

    原标题:Java基础篇之Java线程模型 Java运行系统在很多方面依赖于线程,所有的类库设计都考虑到多线程.实际上,Java使用线程来使整个环境异步.这有利于通过防止CPU循环的浪费来减少无效部分. ...

  5. java display.getdefault()_java基础(十一 )-----反射——Java高级开发必须懂的

    本文我们通过一个实际的例子来演示反射在编程中的应用,可能之前大家对反射的学习,仅仅是停留在概念层面,不知道反射究竟应用在哪,所以是一头雾水.相信通过这篇教程,会让你对反射有一个更深层次的认知. 概念 ...

  6. 0基础学java培训_零基础可以学习java课程么?零基础java培训需要多久?

    零基础可以学习java课程么? 第一.兴趣爱好是重要,总体目标很重要 在你学习培训java以前,一定要清晰自身对java是不是确实很感兴趣,還是一时头昏脑涨.终究学习培训java不仅要把握技术性,也要 ...

  7. 【Java工具类】(10)—java中给图片添加水印

    Java工具类(10)-java中给图片添加水印 1.工具类 package util;import javax.imageio.ImageIO; import java.awt.*; import ...

  8. JavaSE基础二十:Java 多线程(线程基础知识、Java 多线程、Java 实现多线程(继承 Thread 类、实现 Runnable 接口、实现 Callable 接口))

    本章目录 1.基础知识准备 2.Java 多线程概述 3.Java 实现多线程 3.1.继承 Thread 类 如何开启新线程 Thread 类常用方法 多线程中的同步 Thread 类同步方法 多线 ...

  9. java字符串10_排名前10的Java字符串问题

    下面是Java字符串10个经常被问到的问题. 1.怎样比较字符串,使用"=="还是equals()? 简而言之,"=="测试引用是否相同,而equals()测试 ...

  10. Java入门篇——零基础如何学习Java

    当今是一个互联网高速发展的时代,不管是传统互联网还是移动互联网,都已经和人们的日常生活息息相关.Java作为一门高级编程语言在信息科技时代有着广泛的应用.譬如电子政务.金融.通信.各种企业级的应用管理 ...

最新文章

  1. Spark运行模式Local+Standalone+Yarn+mesos
  2. 移除VS解决方案和TFS服务器的关系
  3. 赋能 打造应对不确定性的敏捷团队 pdf_《赋能》:麦克里斯特尔教你打造应对不确定性的敏捷团队...
  4. 计算机考研 电路,模拟电路 请高手来帮忙
  5. 2021年 第12届 蓝桥杯【备赛直播公开课 —— 软件类(本科组、高职高专组)】
  6. 【转】云社区 博客 博客详情 二维异形件排版算法介绍(一)
  7. java工厂模式 uml_深入浅出设计模式-简单工厂模式
  8. python的普通方法、类方法和静态方法
  9. 实现Github和Coding仓库等Git服务托管更新
  10. 单点登录的原理与简单实现
  11. ceph搭建_如何一键搭建并管理Filecoin集群节点 | Gamma OS新功能上线
  12. 人物 | 当我们在谈论语音识别时,我们在谈些什么?——知乎达人、CMU博士生王赟...
  13. Java ArrayList 数组之间相互转换
  14. 拓端tecdat|R语言自然语言处理(NLP):情感分析新闻文本数据
  15. 区块链钱包之ETH钱包生成
  16. vue 将echarts的图片导出成pdf文件
  17. 【bzoj4567】[Scoi2016]背单词 贪心+trie树
  18. 使用asp.net从零开始制作设计网站---转载
  19. 985毕业,半路出家28岁进军Java,坚持了三年现如今年薪36W+,也不算辜负自己!
  20. 国外LEAD赚美金项目操作介绍

热门文章

  1. python第三方库笔记本_Python用什么笔记本电脑较好?
  2. 如何给客户做产品培训
  3. 【网络是怎么连接的】| 【03】探索集线器、交换机和路由器
  4. 现代密码学-密钥管理技术
  5. Day04_Manuals for Python@lisongye - list列表
  6. 在线banner制作网站
  7. CSS第五天——学成网在线
  8. python argparse bool_python argparse 解析命令行参数
  9. The requested URL was not found on this serve
  10. searchEngin_设置bing国际版为默认引擎