学习JavaFX(三):在不同层次上设计和布局

原创 2018年04月17日 14:29:29

合理的布局设计,不仅使图形界面更美观,也让逻辑更清晰,布局和合理的JavaFX结构更有利于维护——在JavaFX中看到布局二字条件反射的要想到layout包,这是一个专门用来做布局的JavaFX包——本文的行文顺序是按照JavaFX布局从底层往外层进行的


Stage(舞台)

继承关系

java.lang.Object
    javafx.stage.Window
        javafx.stage.Stage

原型声明

public class Stage extends Window

构造方法

/** Create a new instance of decorated Stage. */
Stage()

/** Create a new instance of Stage. */
Stage(StageStyle style)

方法列表

/** Defines whether this Stage is kept on top of other windows. */
ReadOnlyBooleanProperty alwaysOnTopProperty()

/** Close this stage. */
void close()

/** Sets the value of property alwaysOnTop. */
void setAlwaysOnTop(boolean value)

/** Sets the value of property fulScreen. */
void setFullScreen(boolean value)

/** Sets the value of the property maxHeight. */
void setMaxHeight(boolean value)

/** Sets the vlaue of the property maxminized. */
void setMaximized(boolean value)

/** Sets the vlaue of the property maxWidth. */
void setMaxWidth(boolean value)

/** Sets the value of the property resizable. */
void setResizable(boolean value)

/** Specify the scene to be used on this stage. */
void setScene(Scene value)

/** Sets th value of the property title. */
void setTitle(String value)

/** Send the Window to the background. */
void toBack()

/** Send the Window to the foreground. */
void toFront()

这里写图片描述

这里写图片描述


Scene(场景)

继承关系

java.lang.Object
    javafx.scene.Scene

原型声明

@DefaultProperty(value="root")
public class Scene extends Object implements EventTarget

构造方法(部分)

/** Creates a Scene for a specific root Node. */
Scene(Parent root)

/** Creates a Scene for a specific root Node with a specific size. */
Scene(Parent root, double width, double height)

这里写图片描述

这里之所以报错,是因为构造Scene对象必须同时指定其顶层结点

顶层结点,既是Node,也是Parent


Parent(双亲)

Parent包括PaneGroupControl

Pane(面板)

Pane包括FlowPaneGridPaneBorderPaneHBoxVBoxStackBox

这里写图片描述

这里写图片描述

注意到setCenter(Node node)方法传入了一个Button对象,它既是一个Parent,而根据继承的is-a关系也是一个Node

Group(组群)

暂时用不到,占坑

Control(控制接口)

Control其实是UI Control的简写(不过当然没有这个类 :-)

意思是:用户控制接口,就是提供相应的组件用来相应用户做出的动作

Control是一个抽象类

Control包括TextFieldButtonCheckBoxRadioButtonTextArea,它们都是Control的子类


Node(结点)

如果考虑is-a关系,所有的Parent都是Node

但这里仅考虑作为叶子结点的Node对象

它们是ShapeImageView

Shape

Shape全称javafx.scene.shape.Shape

Shape是一个抽象类

Shape包括LineCircleEllipseRectangleArcPolygonPolylineText,它们都是Shape的子类

ImageView

ImageView类用来演示/绘制一个具体的图像

可以通过以下构造方法创建一个Imageview对象

/** Allocates a new ImageView object. */
ImageView()

/** Allocates a new ImageView object using the given image. */
ImageView(Image image)

/** Allocates a new ImageView object with image loaded from the specified URL. */
ImageView(String url)

Node对象作为JavaFX程序的最外层,距离用户最近,也最容易实现交互

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/abc_12366/article/details/79973198

布局篇 - JavaFX FlowPane布局(流)

FlowPane布局概述FlowPane是一个容器。它在一行上排列连续的子组件,并且如果当前行填满了以后,则自动将子组件向下推到下一行。FlowPane示例Scene Builder上的FlowPan...
  • LiHaoYang11
  • LiHaoYang11
  • 2017-04-20 15:12:30
  • 1512

JavaFX例子程序

  • 2014年09月02日 22:49
  • 2.29MB
  • 下载

javaFx 学习--之布局菜单

  • 2007年07月24日 22:15
  • 9KB
  • 下载

JAVAFX纯手写布局

主页面效果: 第一栏的效果: 工程目录: package MessageBean; /** * * @author novo */ public class Message {...
  • u011566000
  • u011566000
  • 2013-08-29 21:52:17
  • 2459

布局篇 - JavaFX 剩余所有布局

BorderPane (边框)布局概述及其特性介绍 BorderPane布局顶部,底部,左,右或中心区域中的子节点。每个区域只能有一个节点。 BorderPane的顶部和底部区域允许可调整大小的节点占...
  • LiHaoYang11
  • LiHaoYang11
  • 2017-04-20 16:05:22
  • 508

JavaFX 内置的布局面板

今晚看了一下JavaFX SDK中布局容器相关类,面板(Pane)。 写个大概吧。 FlowPane: 节点以水平方式一行一行放置或者垂直方式一列一列放置。垂直的FlowPane会在高度边界处自动...
  • treeshy
  • treeshy
  • 2015-12-12 21:53:53
  • 2352

学习目标的层次分类

标记:认识并记忆;领会:对事物的初步领会;运用:对所学的概念、法则、远离初步运用;分析:详细阐明基础理论和基本原理;综合:以分析为基础,综合地、创造性地解决问题;评价:理性、深刻地对事物本质的几只作出...
  • wynwdblh
  • wynwdblh
  • 2017-05-07 19:11:27
  • 522

JavaFX学习之道:详解JavaFX架构与框架

JavaFX 2.0平台是基于Java技术的富客户端平台。它使应用程序开发者更加容易的开发和部署跨平台的富互联网应用(RIA)。JavaFX 2.0文档包含了JavaFX 2.0所提供的功能的概述。 ...
  • u011511429
  • u011511429
  • 2014-07-25 11:18:45
  • 1964

JavaFX入门(四):JavaFX布局(一)

说道GUI编程一定要谈到布局,JavaFX内置了大量的布局控件提供给我们使用。其实,JavaFX的布局控件和界面元素控件都是继承自javafx.scene.layout.Region类。我们这里只看布...
  • T_27080901
  • T_27080901
  • 2015-12-05 11:53:19
  • 15586

产品思维学习(三)--产品设计的五个层面

今天的读书会很碰巧有一位同学分享《用户体验要素-以用户为中心的产品设计》这本书。里面讲述了用户体验要素的五个层面:战略层,范围层,结构层,框架层,表现层。也是产品设计的五个层面,所以学习记录下。首先附...
  • u014231523
  • u014231523
  • 2016-05-11 01:19:17
  • 4634
收藏助手
不良信息举报
您举报文章:学习JavaFX(三):在不同层次上设计和布局
举报原因:
原因补充:

(最多只允许输入30个字)