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中文文档

原文地址:https://www.cnblogs.com/kexing/p/11074546.html

时间: 2024-08-29 19:56:42

Java开发桌面程序学习(八)——开源库 JFXUtils 让你更简单地进行JavaFX开发的相关文章

Java开发桌面程序学习(四)——常用应用布局模板和简单分析

布局 前言 刚开始的时候,不知道使用什么布局,发现SceneBuilder其实有8.5版本的,里面就是有提供一个简单的桌面程序模板,8.5可以去官网下载,不过网速好像有点慢,慢慢等吧,官网下载地址 布局分析 外层是一个VBox,然后使用MenuBar,MenuBar的宽度就会自动和VBox的宽度保持一致(之前我使用的是FlowPane,弄了半天都不能自动适应宽度). MenuBar中有很多常用的MenuItem选项,我们可以根据自己的选择删除,并修改文字 中间的空白面板就是一个AnchorPan

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

对话框的封装使用 前言 登录需要弹出登录对话框,但是,Jfoenix库使用对话框比较难受,还得动态去生成布局,我想起了Android的对话框生成,便是封装了一个,一行代码即可生成 使用 使用的话,直接一行代码即可 ,下面的几种常用的情况! 只有一个确定按钮,按下esc可以退出 //tfOutPath是一个控件(controller) new DialogBuilder(tfOutPath).setTitle("提示").setMessage("登录成功").setN

Java开发桌面程序学习(八)——启动浏览器或者打开资源管理器操作与hyperlink超链接的使用

启动浏览器或者打开资源管理器 启动浏览器 java1.6版本以上,Desktop Desktop.getDesktop().browse(new URI("www.cnblogs.com/kexing")); 打开资源管理器 三种方式 //第一种常用,打开q:\\MyBlog这个文件夹目录 Desktop.getDesktop().open(new File("q:\\MyBlog")); Runtime.getRuntime().exec("explor

Java开发桌面程序学习(七)——ImageView设置图片以及jar包读取fxml文件

ImageView设置图片 JavaFx的ImageView,设置图片不能直接通过属性设置,只能通过代码来设置 ImageView设置图片 首先,我们让fxml对应的那个controller的java文件实现Initializable接口,之后就在复写的该接口的initialize方法中设置我们ImageView的图片 我的图片是放在了一个img文件夹里 之后,和之前的fxml一样,得去修改pom.xml,不然maven就会把img这个文件夹的内容全部忽略掉,之后就会找不到图片文件 @Overr

Java开发桌面程序学习(五)——文件选择器和目录选择器的使用

选择器的使用 DirectoryChooser目录选择器官方文档 FileChooser文件选择器官方文档 文件选择器的使用 JavaFx中有个FileChoser,可以打开一个对话框来选择文件 FileChooser fileChooser = new FileChooser(); //添加扩展名过滤器,过滤文件 //注意,这个过滤器添加得在showOpenDialog方法之前,不然会没有效果 fileChooser.getExtensionFilters().add(new FileChoo

Java开发桌面程序学习(十)——css样式表使用以及Button悬浮改变样式实现

css样式表使用 javafx中的css样式,与html的有些不一样,javafx中的css,是以-fx-background-color这种样子的,具体可以参考文档JavaFx css官方文档 javafx中,css样式有两种使用方法 直接在fxml中使用 fxml引用css文件 fxml直接使用样式 在某个控件中使用style属性即可 <Text layoutX="235.0" layoutY="173.0" style="-fx-backgro

使用JavaFX开发桌面程序

使用JavaFX开发桌面程序 注:我也是JAVA FX的初学者之一,自己在学习的时候踩了许多的坑,中文英文的资料查了不少,但是觉得FX技术和其他热门技术相比,教程还是太少了.这里就尽量做一点微小的贡献吧 使用环境 注:写这个只是为了说明我的环境,使用和我的不一样的环境在理解这篇教程的时候并没有什么问题,例如使用Windows平台.使用Oracle JDK(这样就不需要再单独安装FX组件了,可以不用MAVEN).使用Oracle的SceneBuilder.可能唯一一个比较影响体验的就是不使用IDE

Atitit.使用引擎加脚本架构的设计&#160;使用php,js来开发桌面程序。。

Atitit.使用引擎加脚本架构的设计 使用php,js来开发桌面程序.. 1. 引擎加脚本架构 跨平台,桌面与web的优势1 2. 架构桌面引擎(java,c#)2 3. php桌面引擎要点2 3.1. 运行环境:同时支持cs桌面与web方式2 3.2. 界面使用html5+css+js实现2 3.3. Cli接口互操作,与web接口互操作2 3.4. 其他----------流程2 3.4.1. Html5界面确定要是有的后台引擎$parser=php c# java js2 3.4.2. 

Eclipse RCP开发桌面程序

所谓RCP,就是Rich Client Platform的缩写,即富客户平台,是Eclipse进化的产物(自3.0版以后出现),是Eclipse组织向用户提供的强大的开放性开发平台,能够使用户方便地创建自己的基于Eclipse的应用程序,并且这些应用程序能够得到Eclipse的底层支持.更重要的是,我们可以利用Java创建象Eclipse这么漂亮的桌面程序. 我相信,在未来的几年里,RCP一定会变得非常流行.使用RCP,我们可以开发界面象Eclipse这样漂亮的桌面程序,比如医院管理系统啊.CA