Java开发桌面程序学习(九)——JavaFxTemplate …
2019-08-16 09:19:03来源:博客园 阅读 ()
Java开发桌面程序学习(九)——JavaFxTemplate JavaFx模版 更简单进行JavaFx程序开发
JavaFxTemplate
使用说明
项目基于maven,请确保maven配置成功,否则,可能会出现问题
项目内置了commons-io的jar包,Jfoenix的jar包以及常用的工具类JFxUtils
,具体使用请看注释!
原本是想将JFxUtils
单独出来,打成一个jar包,不过,项目引用之后一起打成jar包,项目的jar包跑不起来,报找不到类的错误。
复制该项目,修改项目名,之后修改pom.xml中的 groupId,artifactId,version。
打开IDEA,Main.java的里面需要重新导入一下包名,之后即可成功运行。
打jar包的时候,需要注意,把META-INF的路径设置在out目录下,否则,运行jar包会失败,如下图
JFxUtils使用说明
介绍
这是一个JFX的工具库,Intent可以简单地实现打开一个新窗口并传递数据,DialogBuilder可以简单地生成对话框,MyUtils有些常用的功能
使用
- MyUtils 封装了一些常用的的方法
- Intent与BaseController 打开新窗口,并传递数据
DialogBuilder 基于Jfoenix,快速生成material Design风格的对话框
Intent的使用
使用Intent,可以打开一个新窗口,还能传递数据
如何使用?
打开一个新窗口
步骤:new一个Intent,调用start方法即可
下面是几种不同的构造方法
- Intent(String fxmlName)
- Intent(String fxmlName, String title)
- Intent(String fxmlName, String title,String iconName)
- Intent(String fxmlName, int width, int height)
- Intent(String fxmlName, int width, int height, String title)
- Intent(String fxmlName, int width, int height, String title, String iconName)
PS:
fxmlName
fxml的名字,不需要写扩展名
iconName
图标名,需要写扩展名
例子:
- 简单例子
//在一个controller中
//fxml名字为test
//默认宽高 600*400
Intent intent = new Intent("test");
//打开新窗口
intent.start();
- 设置标题
Intent intent = new Intent("test","hello world");
intent.start();
- 设置宽高
Intent intent = new Intent("test",800,400);
intent.start();
打开新窗口并传递数据
本工具中,有一个BaseController
,想要传递数据,就得让controller
继承这个BaseController
,之后,new一个intent
,使用addData
方法传入数据
可以传递的数据类型有int
,boolean
,String
,List
,Object
- addData(String key, int data)
- addData(String key, boolean data)
- addData(String key, String data)
- addData(String key, List<?> data)
- addData(String key, Object data)
在controller中getIntent得到intent的实例,之后通过以下方法获得数据
- getDataInteger(String key)
- getDataBoolean(String key)
- getDataString(String key)
- getDataList(String key,Class
clazz) - getDataObject(String key) 需要转型
例子:
//某个controller中打开新窗口,并传递list数据
Intent intent = new Intent("test",800,400);
intent.addData("list",studentlist);
intent.start();
//test对应的controller,接收list数据
package wan.dormsystem.controller;
import java.net.URL;
import java.util.List;
import java.util.ResourceBundle;
import wan.dormsystem.bean.Student;
/**
* @author StarsOne
* @date Create in 2019/6/21 0021 16:44
* @description
*/
public class TestController extends BaseController {
@Override
public void initialize(URL location, ResourceBundle resources) {
//这里一定要有判断,不然会有空指针异常
if (getIntent() != null) {
List<Student> list = getIntent().getDataList("list", Student.class);
for (Student student : list) {
System.out.println(student.toString());
}
}
}
}
DialogBuilder
DialogBuilder使用
MyUtils
- closeWindow(Control control) 关闭窗口
- Image getImg(String fileName) 获得图片
- void setLinkAutoAction(Hyperlink hyperlink) 设置链接自动跳转
- void setLinkAction(Hyperlink hyperlink, LinkActionHander hander) 设置链接点击事件
更多使用详情,可以直接去JavaFxTemplate中的具体类中查看
原文链接:https://www.cnblogs.com/kexing/p/11096335.html
如有疑问请与原作者联系
标签:
版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com
特别注意:本站所有转载文章言论不代表本站观点,本站所提供的摄影照片,插画,设计作品,如需使用,请与原作者联系,版权归原作者所有
下一篇:Java中创建对象的五种方式
- 国外程序员整理的Java资源大全(全部是干货) 2020-06-12
- 2020年深圳中国平安各部门Java中级面试真题合集(附答案) 2020-06-11
- 2020年java就业前景 2020-06-11
- 04.Java基础语法 2020-06-11
- Java--反射(框架设计的灵魂)案例 2020-06-11
IDC资讯: 主机资讯 注册资讯 托管资讯 vps资讯 网站建设
网站运营: 建站经验 策划盈利 搜索优化 网站推广 免费资源
网络编程: Asp.Net编程 Asp编程 Php编程 Xml编程 Access Mssql Mysql 其它
服务器技术: Web服务器 Ftp服务器 Mail服务器 Dns服务器 安全防护
软件技巧: 其它软件 Word Excel Powerpoint Ghost Vista QQ空间 QQ FlashGet 迅雷
网页制作: FrontPages Dreamweaver Javascript css photoshop fireworks Flash