fx 属性与布局

属性与布局是一个具备gui开发能力的开发者,快速进入开发必备的知识储备,下面简单说一说常用的属性,与布局

颜色

  • 颜色

    在 javafx.scene.paint.Color 类中提供了 RGB HSB WEB 等在不同应用场景下的方法,下面基本上你看看代码就可以快速应用到你的项目里面去.

  • FX渐变颜色

    梯度绘制可以在两种或更多种颜色之间内插,这给出形状的深度。JavaFX提供两种类型的渐变:径向渐变(RadialGradient)和线性渐变(LinearGradient)。

    要在JavaFX中创建渐变颜色,需要设置五个属性值。如下 -

    设置开始起点的第一个停止颜色。

    将终点设置为终止停止颜色。

    设置proportional属性以指定是使用标准屏幕坐标还是单位平方坐标。

    将循环方法设置为使用三个枚举:NO_CYCLE,REFLECT或REPEAT。

    设置停止颜色数组。

    • 线性梯度(LinearGradient)

      属性 数据类型及描述

      startX Double - 设置梯度轴起点的X坐标。

      startY Double - 设置梯度轴起点的Y坐标。

      endX Double - 设置梯度轴终点的X坐标。

      endY Double - 设置梯度轴终点的Y坐标

      proportional Boolean - 设置坐标是否与形状成比例。设置为true时则使用单位正方形坐标,否则使用屏幕坐标系。

      cycleMethod CycleMethod - 设置应用于渐变的循环方法。

      stops List - 设置渐变颜色指定的停止列表。
  • 径向渐变 RadialGradient

    ocusAngle Double - 设置从渐变中心到映射第一种颜色的焦点的角度(以度为单位)。

    focusDistance Double - 设置从渐变中心到映射第一种颜色的焦点的距离。

    centerX Double - 设置渐变圆的中心点的X坐标。

    centerY Double - 设置渐变圆的中心点的Y坐标。

    radius Double - 设置颜色渐变的圆的半径。

    proportional boolean - 设置坐标和大小与形状成比例。

    cycleMethod CycleMethod - 设置应用于渐变的Cycle方法。

    Stops List - 设置渐变颜色的停止列表

域模型与属性绑定

  • 我们实现登录操作的时候,绑定实体类的值,用户名,密码等 封装 get set 的时候可以使用这个字段
  • JavaFX的属性包含实际值,并提供更改支持,无效支持和绑定功能。所有JavaFX属性类都位于javafx.beans.property.*包命名空间中。

    下面的列表是常用的属性类。

    javafx.beans.property.SimpleBooleanProperty

    javafx.beans.property.ReadOnlyBooleanWrapper

    javafx.beans.property.SimpleintegerProperty

    javafx.beans.property.ReadOnlyintegerWrapper

    javafx.beans.property.SimpleDoubleProperty

    javafx.beans.property.ReadOnlyDoubleWrapper

    javafx.beans.property.SimpleStringProperty

    javafx.beans.property.ReadOnlyStringWrapper
import javafx.beans.property.SimpleStringProperty;
import javafx.beans.property.StringProperty; public class Main{
public static void main(String[] args) {
StringProperty password = new SimpleStringProperty("yiibai.com");
password.set("example.com");
System.out.println("Modified StringProperty " + password.get() );
}
}
  • javabean具体代码(忽略get set)

  • 属性更改事件

    属性可以通知值更改的事件处理程序,以便在属性更改时进行响应处理相关操作。JavaFX属性对象包含一个addListener()方法,它接受两种类型的功能接口:ChangeListener(改变值)和invalidationListener(初始化值)

  • 代码:



  • 他们都实现了 ObservableValue和Observable接口

    实际上也可以这样这:

绑定

  • 双向绑定

    双向绑定绑定相同类型的属性,并同步两侧的值。当使用bindBidirectional()方法双向绑定时,需要两个属性都必须是可读/写的。

  • 高级别绑定

    multiply(),divide(),subtract(),isEqualTo(),isNotEqualTo(),concat()。 请注意,方法名称中没有get或set。当链接API在一起时可以写代码,就像类似于写英文句子,例如,width().multiply(height()).divide(2)。

  • 低级别绑定

    当对NumberBinding类进行子类化时,使用低级别绑定,例如Double类型的DoubleBinding类。

    在DoubleBinding类的子类中,我们覆盖它的computeValue()方法,以便可以使用运算符(例如*和 - )来制定复杂的数学方程计算

值的跟踪传递

  • javafx.collections包

    接口

    接口 描述

    ObservableList 允许跟踪更改的列表

    ListChangeListener 接收更改通知的接口

    ObservableMap 允许跟踪更改的映射

    MapChangeListener 从ObservableMap接收更改通知的接口



    类 描述

    FXCollections 实用程序类映射到java.util.Collections

    ListChangeListener.Change 表示对ObservableList所做的更改

    MapChangeListener.Change 表示对ObservableMap所做的更改

  • list map 操作方法是一样的

JAVAFX-5 开发应用的更多相关文章

  1. 问题记录:JavaFx 鼠标滑轮滚动事件监听!

    问题描述: 在listview的item里面添加鼠标拖拽排序功能.代码如下: setOnMouseDragged(event -> { //设定鼠标长按0.3秒后才可拖拽 防止误操作 isCan ...

  2. JavaFx客户端服务器C/S架构搭建

    客户端获取服务器端软件更新版本方法: package com.platform.ui.update; import java.io.BufferedInputStream; import java.i ...

  3. JavaFX 教程资料收集

    1. JavaFX中文资料 http://www.javafxchina.net/blog/docs/tutorial1/ 2. JavaFX入门教程 http://www.xrpmoon.com/c ...

  4. 在 linux 上部署并运行 JavaFX 项目

    环境 redhat 6.4.eclipse安装JavaFX插件 项目详情及代码参见 在linux上配置并创建JavaFX项目 ,该部署即此文章中项目的部署 配置build.fxbuild 生成buil ...

  5. 在linux上配置并创建JavaFX项目

    本环境为linux配置,因为这里的JavaFX项目是为定制Oracle监控工具而写的.现Oracle已收购Java好几年,用它自己的产生监控自己的东西还是很兼容的.此处Eclipse 为4.5版本. ...

  6. javafx之登陆界面的跳转

    界面布局用到的是fxml而非纯java代码,工具是javafx sence builder 账号:account 密码:password 登陆成功: 可以点击退出登陆返回到登陆页面 工程目录: pac ...

  7. JAVAFX纯手写布局

    主页面效果: 第一栏的效果: 工程目录: package MessageBean; /** * * @author novo */ public class Message { private Str ...

  8. javafx之HTTP协议交互

    javafx端要获取获取如下信息: 服务器端获取的数据: javafx客户端发送的数据以及获取的数据: 工程目录: package Httputil; import IPsite.IPaddress; ...

  9. eclipse开发 javafx(转)

    了解过JavaFX的都知道,JavaFX自从2.0版本开始,已经完全抛弃了之前的script语言,才用纯java来实现.这样的好处就是1.让使用Java的IDE进行JavaFX的开发成为可能,2.Ja ...

  10. JavaFX結合 JDBC, Servlet, Swing, Google Map及動態產生比例圖 (3):部署設定及應用 (转帖)

    說明:這一篇主要是說明如何將程式部署到Application Server,以及程式如何運作,產生的檔案置於何處,以及如何以瀏覽器呈現(Applet),或是當成桌面應用程式,或是 桌面Applet,這 ...

随机推荐

  1. windows中安装redis

    Redis是有名的NoSql数据库,一般Linux都会默认支持.但在Windows环境中, Windows的Redis安装包需要到以下GitHub链接找到.链接:https://github.com/ ...

  2. leaflet渲染mapbox gl的矢量数据

    准备条件 1.mapbox-gl.js mapbox-gl.css 2.leaflet-mapbox-gl.js https://github.com/mapbox/mapbox-gl-leaflet ...

  3. linux学习之路--(三)文件系统

    一.文件系统 rootfs:根文件系统 FHS:linux /boot:系统启动相关的文件,如内核.initrd,grub(bootloader) /dev:设备文件:不存储内容,就是个访问入口 块设 ...

  4. 智能合约语言 Solidity 教程系列1 - 类型介绍

    现在的Solidity中文文档,要么翻译的太烂,要么太旧,决定重新翻译下.尤其点名批评极客学院名为<Solidity官方文档中文版>的翻译,机器翻译的都比它好,大家还是别看了. 写在前面 ...

  5. 求第k小的元素

    用快排解决: 用快排,一趟排序后,根据基准值来缩小问题规模.基准值的下角标i 加1 表示了基准值在数组中第几小.如果k<i+1,那就在左半边找:如果k>i+1那就在右半边找.当基准值的下角 ...

  6. nodejs轻量级时间格式化组件Moment.js的使用例子

    在项目中,经常使用时间进行格式化的输出,以及转换,同时做时间的统计,原本js原生的时间函数比较复杂繁琐,不适合快速开发使用. 轻量级的moment.js很好的解决了这些问题. 下面以简单的例子进行mo ...

  7. 框架开发之——AngularJS+MVC+Routing开发步骤总结——5.14

    1.延续MVC的观念:包括路由映射的编写,Controller的内容,具体View页面js的分离. 2.结合AngularJS做前端,后端使用Node.Js的写法,引入MVC框架,进行快速的开发. 步 ...

  8. 关于mongodb按照字段模糊查询方法

    模糊查询:tname包含某个关键字测试' cd /opt/soft/mongodb/bin ./mongo --host 192.168.0.1  --port 17017  test db.test ...

  9. Android_scaleType属性

    这里我们重点理解ImageView的属性android:scaleType,即ImageView.setScaleType(ImageView.ScaleType).android:scaleType ...

  10. c++ --> 你可能不知道的c++

    你可能不知道的c++ 你可能不知道的 C++(一) 你可能不知道的 C++(二)