JavaFX快速开发
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库
- JMetro
- jfoenix
- Controlsfx
使用步骤(以jfoenix为例)
- 下载jfoenix的jar包
点击Maven库,搜索jfoenix,然后选择兼容自己JDK版本的。 - 在javafx项目中创建lib包,并把jfoenix包放在lib包
- 把lib包作为JavaFX项目中的库。IDEA右键lib包,选择add as library。
- jfoenix官方查看要使用的控件
- 粘贴代码到自己JavaFX应用,即可(注意要添加到布局中,既gridPane.getChildren.add(jfxRadio))
- 在SceneBuilder使用jfoenix
打开SceneBuilder界面,点击如下图按钮,之后选择JRA/FXML Manage,在弹出的界面选择 Add Library/FXML from file system。然后把下载的jfoenix导入。然后即可。
- 会发现SceneBuilder中缺少很多控件,可以先在xxx.FXML文件添加,然后再在SceneBuilder中编辑。
如何使用CSS
- 创建一个.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;
}
- 在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();}
- 在SceneBuilder使用css
FXML标签如何与Controller类联系
- 在SceneBuilder设置id
- 在Controller创建该控件id,并且命名为id
id:button
Controller类域
@FXML
private Button button
FXML标签事情如何与Controller类联系
- 在SceneBuilder设置OnAction设置方法名
- 在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快速开发相关推荐
- JavaFx+JxBrowser实现快速开发
JavaFx+JxBrowser实现快速开发 1.下载JxBrowser-6.21资源 下载地址:https://download.csdn.net/download/qq_36084920/1235 ...
- 面试官问:如何快速开发一个类似微信的聊天系统?
去年我们公司要我去面试一位候选人,当时刚好我接手了公司的 IM 系统,借这个机会,就问了候选人这个问题:如何快速开发一个类似微信的聊天系统? 这个问题的确让候选人回答起来很吃力: 从分析 PC 端微信 ...
- java 对比两个表的字段的差异_Joolun小程序商城 2.2.2版本上线了——Java微信快速开发平台...
Joolun是一款基于spring-boot的微信快速开发平台,目前拥有公众号基础版和小程序商城版两个版本.Joolun采用目前流行的前后端分离技术所写,是一款高效.易用的java微信开发框架平台,二 ...
- jeecgboot前端开发_一款基于代码生成器的Java快速开发平台【jeecg-boot】
原标题:一款基于代码生成器的Java快速开发平台[jeecg-boot] 今天给大家介绍一个后台脚手架框架:jeecg-boot 来看看官方怎么介绍的. 一款基于代码生成器的Java快速开发平台!全新 ...
- 【转】 Android快速开发系列 10个常用工具类 -- 不错
原文网址:http://blog.csdn.net/lmj623565791/article/details/38965311 转载请标明出处:http://blog.csdn.net/lmj6235 ...
- 快速开发一个PHP扩展
快速开发一个PHP扩展 作者:heiyeluren 时间:2008-12-5 博客:http://blog.csdn.net/heiyeshuwu 本文通过非常快速的方式讲解了如何制作一个PHP 5. ...
- 快速 开发平台 架构_快速介绍清洁架构
快速 开发平台 架构 by Daniel Deutsch 由Daniel Deutsch 快速介绍清洁架构 (A quick introduction to clean architecture) I ...
- 度量快速开发平台端口映射的介绍
度量快速开发平台在客户中部署的时候,可能会想内网与外网用户同时使用.一般情况下,服务端都是部署在内网的,那外网用户要访问,就可能用到端口映射的功能.端口映射基本都是在路由器上进行. 下面就是几个常用的 ...
- 利用UltimateAndroid框架进行快速开发
UltimateAndroid是一套集成了许多现有优秀的Android开源类库并将之组合成一个整体的Android快速开发框架.框架目前主要包含的功能有View Injection,ORM,异步网络请 ...
最新文章
- Word中查找和替换功能详细介绍
- SpringBoot整合RabbitMQ-整合演示
- android api接口封装,生成App接口
- mybatis-plus代码生成器简易使用
- DCMTK:类OFMap的测试程序
- Scala类的继承,抽象类定义,接口定义
- android层级关系图,画出 View 的层级 3D 图和树形图来分析层级关系
- 师--链表的结点插入
- Uformer: A General U-Shaped Transformerfor Image Restoration
- 漫谈Servlet(一)
- 创建型模式之工厂方法模式
- java shiro实例_spring+shiro 整合实例代码详解
- oracle复杂分组查询语句,oracle中的“复杂”分组统计sql
- IDEA下查看Java字节码(插件ByteCode Viewer)
- ES6+webpack实现Counter
- SONIC架构简要分析-数据库
- java 将汉字编码_JAVA中的汉字编码问题
- win10蓝牙开关不见了_来自德国,比JBL更硬汉,这款户外蓝牙音箱,上得厅堂下得厨房...
- 使用计算机时鼠标和键盘各有什么优缺点,计算机键盘与鼠标的使用简介.ppt
- 台计算机的本地打印机 并且,您在计算机上安装一台本地打印机。您共享这台打印机。您需要确保只有名为Grou..._考试资料网...