`

《JavaFx本质论》读书笔记1(1-2章)

阅读更多

一.初识JavaFx:

用于RIA的开发,属于静态标记语言,感觉功能很强大,例如2010的冬奥会的官网就是用JavaFx实现。如果还想了解更多的功能,访问如下网站www.javafx.com.

二.界面组成:

javaFx的界面由两部分组成即Stage和Sense,在Sense上可放置各种组件最终实现效果,利用NeatBeans生成一个JavaFxStage文件:将会看到下面的代码:

package mysecode_javaFx;

import javafx.stage.Stage;
import javafx.scene.Scene;
import javafx.scene.text.Text;
import javafx.scene.text.Font;

/**
 * @author hp
 */

Stage {
    title: "Application title"
    scene: Scene {
        width: 250
        height: 80
        content: [
            Text {
                font: Font {
                    size: 16
                }
                x: 10
                y: 30
                content: "Application content"
            }
        ]
    }
}

会有一个窗体出来。

 

三:自己动手编写的例子

1.实现三个带圆角的矩形和一个圆,有颜色的渐变和阴影

/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package mysecode_javaFx;

import javafx.stage.Stage;
import javafx.scene.Scene;
import javafx.scene.text.Text;
import javafx.scene.text.Font;
import javafx.scene.shape.Rectangle;
import javafx.scene.paint.Color;
import javafx.scene.shape.Circle;
import javafx.scene.paint.RadialGradient;
import javafx.scene.paint.Stop;
import javafx.scene.effect.DropShadow;

/**
 * @author hp
 */

 /**
 *定义三个矩形
 */
def rectangleSequence = for (i in [0..2])
            Rectangle {
                x: 60 * i + 30//x坐标
                y: 50//y坐标
                height: 50
                width: 40
                arcHeight: 10//实现圆角效果
                arcWidth: 10
                fill: Color.rgb(10 + (i * 50), 100 + (i * 40), i * 50)//填充颜色
                effect: DropShadow {//实现影音效果
                    offsetX: 5.0//如果值为正,则在右面添加影音,负值就相反
                    offsetY: 5.0//如果值为正,则在下面添加影音,负值就相反
                }
            }
            /*
            *舞台
            */
Stage {
    title: "Application title"
    scene: Scene {//场景
        width: 350
        height: 180
        content: [//内容
            Text {
                font: Font {
                    size: 16
                }
                x: 10
                y: 30
                content: "Shades of Green"
            }
            rectangleSequence,//前面定义的三个矩形
           //定义一个圆
           Circle {
                centerX: 100, centerY: 130//圆心坐标
                radius: 20//半径
                fill: RadialGradient {//填充实现颜色的渐变
                    centerX: 0.25
                    centerY: 0.75
                    radius: 0.9
                    stops: [//白色过渡到蓝色
                        Stop {
                            offset: 0
                            color: Color.WHITE
                        },
                        Stop {
                            offset: 1
                            color: Color.BLUE
                        }
                    ]
                }
                effect: DropShadow {//添加阴影
                    offsetX: 5.0
                    offsetY: 3.0
                    radius: 5.0
                    color: Color.BLUE
                    spread: 0.0
                }
            }
        ]
    }
}

三.动起来(Do Things)

在JavaFx中通过三种机制实现互动,即bind,event handle,Annimation(绑定,事件处理,动画)。

bind:通过将一些属性相关联,例如将A和B相关联,则A变B也跟着变。

event handle:即事件数量,例如鼠标处理事件

annimation:动画,要实现动画其中TimeLine的定义十分重要,它是由一系列的KeyFrame(关键帧)组成

 

 

 

 

 

 

 

分享到:
评论

相关推荐

    JavaFX+Jfoenix 学习笔记(一)--环境搭建及多款Hello World演示源码

    1. **JavaFX环境搭建**: - 安装Java Development Kit (JDK):JavaFX不再包含在标准JDK中,因此需要确保安装了支持JavaFX的JDK版本,例如OpenJFX。 - 配置IDE:对于Eclipse用户,需要安装Eclipse IDE for Java ...

    JavaFx本质论源代码

    总的来说,"JavaFX本质论源代码"是一份宝贵的资源,它涵盖了JavaFX的主要特性和使用技巧,对于想要深入了解和实践JavaFX的开发者来说,是一个极好的学习资料。通过仔细研究这些源代码,你可以掌握如何有效地利用...

    《javafx本质论》的书中实例

    JavaFX Script 编程语言(以下称为JavaFX)是Sun微系统公司开发的一种declarative, statically typed(声明性的、静态类型)脚本语言。《javafx本质论》的书中实例

    javafx-sdk-11.0.2

    1. **库文件**:包括`lib`目录下的各种jar文件,如`javafx.base.jar`、`javafx.controls.jar`、`javafx.fxml.jar`、`javafx.graphics.jar`等,它们分别包含了JavaFX的基础组件、控制组件、FXML布局文件解析器和图形...

    JavaFX+Jfoenix 学习笔记(三)--TableView数据表格源码

    在"JavaFX+Jfoenix 学习笔记(三)--TableView数据表格源码"中,我们将重点讨论如何使用JavaFX的TableView组件结合JFoenix来展示和操作数据。TableView是JavaFX中的一个核心组件,它允许用户以表格的形式查看和操作...

    javafx-sdk-17.0.2-lts-windows-x64

    JavaFX SDK 17.0.2 LTS 是一个用于创建桌面和基于浏览器的富客户端应用程序的工具包,专为Windows x64平台设计。这个版本是长期支持(LTS)版本,意味着它将提供更长期的维护和支持,适合于那些需要稳定开发环境的...

    openjfx-jar.zip

    javafx.base-11.0.0-20180629.175051-1-win.jar,javafx.base-11.0.0-20180702.223831-2-linux.jar,javafx.base-11.0.0-20180702.224858-3.jar,javafx.base-11.0.0-20180702.224858-3-mac.jar,javafx.base-11.0.0-...

    JavaFX+Jfoenix 学习笔记(二)--Stage和Scene源码

    JavaFX+Jfoenix 学习笔记(二)--Stage和Scene文章中用到的源码,主要是展示了Stage的一些常用属性

    JavaFX+Jfoenix 学习笔记(五)--ContextMenu右键菜单源码

    在"JavaFX+Jfoenix 学习笔记(五)--ContextMenu右键菜单源码"中,可能会详细讲解如何使用JFoenix的JFXMenuItem创建具有Material Design样式的ContextMenu,以及如何自定义其颜色、图标等属性。此外,源码可能还会...

    JavaFX+Jfoenix 学习笔记(九)--KeyCombination快捷键源码

    不过,具体的学习笔记内容可能不包含在这些文件中,而是需要阅读作者的代码和注释来获取更多信息。 总的来说,JavaFX的KeyCombination和JFoenix库的结合,提供了丰富的快捷键功能,使得开发者可以构建出响应迅速、...

    JavaFX+Jfoenix 学习笔记(七)--多线程、延迟加载源码

    在“JavaFX+Jfoenix 学习笔记(七)--多线程、延迟加载源码”中,我们将探讨两个关键概念:多线程和延迟加载。这两个概念对于提高JavaFX应用程序的性能和用户体验至关重要。 1. **多线程**: - **并发基础**:在...

    javafx18sdk,javafx-sdk-18,的次源包,javafx运行库,可以向下兼容,linux系统下可附加使用

    linux系统下,可用如下两命令运 行 javafx 的 jar包 export JAVAFX=/home/这里是linux的用户名文件夹/javafx-sdk-18/lib java --module-path $JAVAFX --add-modules javafx.fxml,javafx.controls -jar demo.jar 或都...

    JavaFX+Jfoenix 学习笔记(八)--事件、监听、属性绑定源码

    在“JavaFX+Jfoenix 学习笔记(八)--事件、监听、属性绑定源码”中,我们将深入探讨JavaFX中的事件处理、监听器和属性绑定。 1. **事件处理**: 在JavaFX中,事件是用户与应用程序交互时发生的动作,如点击按钮、...

    JavaFX+Jfoenix 学习笔记(四)--MenuBar菜单栏源码

    在"JavaFX+Jfoenix 学习笔记(四)--MenuBar菜单栏源码"这篇笔记中,我们将深入探讨如何使用JavaFX的`MenuBar`和JFoenix库来创建具有Material Design风格的菜单栏。以下是一些关键知识点: 1. **JavaFX的MenuBar...

    JavaFX+Jfoenix 学习笔记(十)--系统托盘及解决中文乱码问题源码

    在本篇JavaFX+Jfoenix学习笔记中,我们将探讨如何在JavaFX应用程序中实现系统托盘功能,以及如何解决可能出现的中文乱码问题。系统托盘是现代桌面应用中常见的一种特性,允许用户在关闭主窗口后,仍然可以通过托盘...

    javafx-src.zip_javaFx_退火_退火算法

    JavaFX 是一个用于创建桌面应用、移动应用和Web应用的开放源代码图形用户界面(GUI)工具包。它提供了一套丰富的UI控件、2D和3D图形处理能力,以及媒体播放支持,使得开发者可以构建出具有现代感且交互性强的应用...

    javafx-2_2_7-windows-i586

    javafx-2_2_7-windows-i586

    JavaFX Demo学习2-----ImageRollover

    在"JavaFX Demo学习2-----ImageRollover"这个主题中,我们将深入探讨如何使用JavaFX来实现图像鼠标悬停时的效果变化,即Image Rollover效果。这种效果常见于网页设计和图形用户界面开发中,当鼠标指针移到图像上时,...

    javafx_scenebuilder-2_0-windows.rar

    这个压缩包“javafx_scenebuilder-2_0-windows.rar”显然是JavaFX Scene Builder的Windows版本,版本号为2.0。 在JavaFX Scene Builder 2.0中,开发者可以找到一系列预先定义的GUI组件,如按钮、文本框、表格、菜单...

Global site tag (gtag.js) - Google Analytics