JavaFX涉及知识点

FXML
CSS
Scene Builder

创建运行JavaFX应用

IDEA创建JavaFX应用

IDEA创建项目,选择JavaFX即可

项目基本架构

IDEA创建架构

我自己架构

纯Java Hello world

    @Overridepublic void start(Stage primaryStage) throws Exception{GridPane gridPane = new GridPane();Scene scene = new Scene(gridPane,300,275);primaryStage.setTitle("Hello World");primaryStage.setScene(scene);primaryStage.show();}

Java+FXML Hello world

    @Overridepublic void start(Stage primaryStage) throws Exception{Parent root = FXMLLoader.load(getClass().getResource("view/sample.fxml"));primaryStage.setTitle("Hello World");primaryStage.setScene(new Scene(root, 300, 275));primaryStage.show();}

JavaFX架构

这里的 Stage 是一个主容器,它就是我们通常所认为的窗口(有边,高和宽,还有关闭按钮)。在这个 Stage 里面,你可以放置一个Scene,当然你可以切换别的 Scene,而在这个 Scene 里面,我们就可以放置各种各样的控件。

基本控件

布局控件

VBox,HBox,AnchorPane(锚点布局,推荐使用)等等

控件

TableView,Label,Button等等

FXML

<?import javafx.scene.layout.GridPane?>
<GridPane fx:controller="sample.controller.Controller"xmlns:fx="http://javafx.com/fxml" alignment="center" hgap="10" vgap="10">
</GridPane>

Scene builder(推荐)

下载并安装

gluonhq

导入IDEA

在IDEA中任意选择xxx.fxml文件,右键选择Open in SceneBuilder,在弹出的文件选择,选择下载的SceneBuilder.exe。然后就可以拖拉构建界面了。

UI库使用

UI库

  1. JMetro
  2. jfoenix
  3. Controlsfx

使用步骤(以jfoenix为例)

  1. 下载jfoenix的jar包
    点击Maven库,搜索jfoenix,然后选择兼容自己JDK版本的。
  2. 在javafx项目中创建lib包,并把jfoenix包放在lib包
  3. 把lib包作为JavaFX项目中的库。IDEA右键lib包,选择add as library。
  4. jfoenix官方查看要使用的控件
  5. 粘贴代码到自己JavaFX应用,即可(注意要添加到布局中,既gridPane.getChildren.add(jfxRadio))
  6. 在SceneBuilder使用jfoenix
    打开SceneBuilder界面,点击如下图按钮,之后选择JRA/FXML Manage,在弹出的界面选择 Add Library/FXML from file system。然后把下载的jfoenix导入。然后即可。
  7. 会发现SceneBuilder中缺少很多控件,可以先在xxx.FXML文件添加,然后再在SceneBuilder中编辑。

如何使用CSS

  1. 创建一个.css文件
.button-raised{-fx-padding: 0.7em 0.57em;-fx-font-size: 14px;-jfx-button-type: RAISED;-fx-background-color: rgb(77,102,204);-fx-pref-width: 200;-fx-text-fill: WHITE;
}
  1. 在Main类中加载该.css文件
    @Overridepublic void start(Stage primaryStage) throws Exception{Parent root = FXMLLoader.load(getClass().getResource("view/sample.fxml"));primaryStage.setTitle("Hello World");Scene scene = new Scene(root, 300, 275);scene.getStylesheets().add("css\\button.css");    //  加载css文件primaryStage.setScene(scene);primaryStage.show();}
  1. 在SceneBuilder使用css

FXML标签如何与Controller类联系

  1. 在SceneBuilder设置id
  2. 在Controller创建该控件id,并且命名为id
id:button
Controller类域
@FXML
private Button button

FXML标签事情如何与Controller类联系

  1. 在SceneBuilder设置OnAction设置方法名
  2. 在Controller创建与OnAction一样的方法名即可。
OnAction:clibButton
Controller类方法
@FXML
public void clibButton(){};

Controller类如何获取Main类

    @Overridepublic void start(Stage primaryStage) throws Exception{FXMLLoader fxmlLoader = new FXMLLoader();fxmlLoader.setLocation(getClass().getResource("sample.fxml"));Parent parent = (Parent) fxmlLoader.load(); Controller controller = fxmlLoader.getController();controller.setMain(this);primaryStage.setTitle("Hello World");primaryStage.setScene(new Scene(parent, 300, 275));primaryStage.show();}

TableView控件的使用,具有checked的

coulumn.setCellValueFactory(new PropertyValueFactory<>("checkState"));

学习资料

基础

FXChina
易百教程

进阶

code.makery

官方

官方

UI库

Controlsfx
jfoenix
JMetro

JavaFX快速开发相关推荐

  1. JavaFx+JxBrowser实现快速开发

    JavaFx+JxBrowser实现快速开发 1.下载JxBrowser-6.21资源 下载地址:https://download.csdn.net/download/qq_36084920/1235 ...

  2. 面试官问:如何快速开发一个类似微信的聊天系统?

    去年我们公司要我去面试一位候选人,当时刚好我接手了公司的 IM 系统,借这个机会,就问了候选人这个问题:如何快速开发一个类似微信的聊天系统? 这个问题的确让候选人回答起来很吃力: 从分析 PC 端微信 ...

  3. java 对比两个表的字段的差异_Joolun小程序商城 2.2.2版本上线了——Java微信快速开发平台...

    Joolun是一款基于spring-boot的微信快速开发平台,目前拥有公众号基础版和小程序商城版两个版本.Joolun采用目前流行的前后端分离技术所写,是一款高效.易用的java微信开发框架平台,二 ...

  4. jeecgboot前端开发_一款基于代码生成器的Java快速开发平台【jeecg-boot】

    原标题:一款基于代码生成器的Java快速开发平台[jeecg-boot] 今天给大家介绍一个后台脚手架框架:jeecg-boot 来看看官方怎么介绍的. 一款基于代码生成器的Java快速开发平台!全新 ...

  5. 【转】 Android快速开发系列 10个常用工具类 -- 不错

    原文网址:http://blog.csdn.net/lmj623565791/article/details/38965311 转载请标明出处:http://blog.csdn.net/lmj6235 ...

  6. 快速开发一个PHP扩展

    快速开发一个PHP扩展 作者:heiyeluren 时间:2008-12-5 博客:http://blog.csdn.net/heiyeshuwu 本文通过非常快速的方式讲解了如何制作一个PHP 5. ...

  7. 快速 开发平台 架构_快速介绍清洁架构

    快速 开发平台 架构 by Daniel Deutsch 由Daniel Deutsch 快速介绍清洁架构 (A quick introduction to clean architecture) I ...

  8. 度量快速开发平台端口映射的介绍

    度量快速开发平台在客户中部署的时候,可能会想内网与外网用户同时使用.一般情况下,服务端都是部署在内网的,那外网用户要访问,就可能用到端口映射的功能.端口映射基本都是在路由器上进行. 下面就是几个常用的 ...

  9. 利用UltimateAndroid框架进行快速开发

    UltimateAndroid是一套集成了许多现有优秀的Android开源类库并将之组合成一个整体的Android快速开发框架.框架目前主要包含的功能有View Injection,ORM,异步网络请 ...

最新文章

  1. Word中查找和替换功能详细介绍
  2. SpringBoot整合RabbitMQ-整合演示
  3. android api接口封装,生成App接口
  4. mybatis-plus代码生成器简易使用
  5. DCMTK:类OFMap的测试程序
  6. Scala类的继承,抽象类定义,接口定义
  7. android层级关系图,画出 View 的层级 3D 图和树形图来分析层级关系
  8. 师--链表的结点插入
  9. Uformer: A General U-Shaped Transformerfor Image Restoration
  10. 漫谈Servlet(一)
  11. 创建型模式之工厂方法模式
  12. java shiro实例_spring+shiro 整合实例代码详解
  13. oracle复杂分组查询语句,oracle中的“复杂”分组统计sql
  14. IDEA下查看Java字节码(插件ByteCode Viewer)
  15. ES6+webpack实现Counter
  16. SONIC架构简要分析-数据库
  17. java 将汉字编码_JAVA中的汉字编码问题
  18. win10蓝牙开关不见了_来自德国,比JBL更硬汉,这款户外蓝牙音箱,上得厅堂下得厨房...
  19. 使用计算机时鼠标和键盘各有什么优缺点,计算机键盘与鼠标的使用简介.ppt
  20. 台计算机的本地打印机 并且,您在计算机上安装一台本地打印机。您共享这台打印机。您需要确保只有名为Grou..._考试资料网...

热门文章

  1. SharePoint2010结构
  2. 组合数学 排列组合基本问题总结
  3. 计算机应用基础word3答案,3、Word知识部分--计算机应用基础统考试题库及答案
  4. 倍福(Beckhoff) 软件及资料分享
  5. Mybatis的#{}与${}占位符
  6. 关于bootstrap table 固定列宽
  7. PostgreSQL中的索引—5(GiST)上
  8. js给手机号码(数值)加*
  9. 在VS Code使用Anaconda
  10. [从零学习汇编语言] - 源程序与EXE文件