Java开发桌面程序学习——开源库 JFXUtils 让你更简单地进行JavaFX开发

Posted kexing

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Java开发桌面程序学习——开源库 JFXUtils 让你更简单地进行JavaFX开发相关的知识,希望对你有一定的参考价值。

JFxUtils

项目地址

介绍

这是一个JFX的工具库,Intent可以简单地实现打开一个新窗口并传递数据,DialogBuilder可以简单地生成对话框,MyUtils有些常用的功能

使用

JFxUtilsJavaFxTemplate是配套使用的,想要使用的话,请下载JavaFxTemplate模板

JavaFxTemplate模版已经整合了JFxUtils,直接使用即可
JavaFxTemplate项目地址

下载jar包 ,把jar包导入到项目中
下载地址

Intent的使用

使用Intent,可以打开一个新窗口,还能传递数据

如何使用?

打开一个新窗口

步骤:new一个Intent,调用start方法即可

下面是几种不同的构造方法

  • Intent(Object o, String fxmlName)
  • Intent(Object o, String fxmlName, String title)
  • Intent(Object o, String fxmlName, String title,String iconName)
  • Intent(Object o, String fxmlName, int width, int height)
  • Intent(Object o, String fxmlName, int width, int height, String title)
  • Intent(Object o, String fxmlName, int width, int height, String title, String iconName)

PS:

  • o 当前的controller
  • fxmlName fxml的名字,不需要写扩展名
  • iconName 图标名,需要写扩展名

例子:

  • 简单例子
//在一个controller中
//fxml名字为test
//默认宽高 600*400 
Intent intent = new Intent(this,"test");
//打开新窗口
intent.start();
  • 设置标题
Intent intent = new Intent(this,"test","hello world");
intent.start();
  • 设置宽高
Intent intent = new Intent(this,"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) 需要转型

例子:

  • 获得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(Object o, String fileName) 获得图片
  • void setLinkAutoAction(Hyperlink hyperlink) 设置链接自动跳转
  • void setLinkAction(Hyperlink hyperlink, LinkActionHander hander) 设置链接点击事件

更多使用详情,请下载文档查看,JFxUtils中文文档

以上是关于Java开发桌面程序学习——开源库 JFXUtils 让你更简单地进行JavaFX开发的主要内容,如果未能解决你的问题,请参考以下文章

Java开发桌面程序学习——基于Jfoenix库的JFXDialog封装仿Android对话框的工具DialogBuilder

Python如何进行GUI桌面开发?都有哪些不错的库可以推荐?

超全的开源Winform UI库,满足你的一切桌面开发需求!

安卓开发教程 安卓开发怎么入门

Java程序员应该知道的20个有用的lib开源库

为啥我们要学习java?