Java开发桌面程序学习(一)——JavaFx+Jfoenix初始以及搭建

前言

想做一个Java的桌面程序,但是,使用原生的Swing感觉又十分麻烦,那个布局都是拿代码设置,看着十分的乱,偶然的情况下, 了解到了JavaFx,使用上Jfoenix的UI,界面十分好看,便是想来学一学。

虽然现在大多数桌面程序都是使用微软的.net,使用的是VB,C#。但是,我现在暂时又太想学新知识,懂Java就拿Java做吧。

JavaFx介绍

我们都知道,Java中可以使用swing来写Java程序的界面,不过,那样都是全代码添加的,想要预览效果还得运行,十分的麻烦,JavaFx则是将界面和逻辑都分开处理了,相当于Android开发那样。

Jfoenix

Java的UI控件不是很好看,而Jfoenix则是一位大佬开发的仿谷歌的MD设计的UI控件,是在JavaFx的UI控件基础上改造的,所以我们可以直接拿来用。

环境配置

我这里是使用了IDEA + Maven进行JavaFx程序的开发,Maven的配置看这一篇IDEA Maven配置

首先,使用Maven导入Jfoenix的jar包

pom.xml在输入下面代码,如果之前有加过了其他的依赖,则不需要外面的那个dependencies标签

  1. <dependencies>
  2. <dependency>
  3. <groupId>com.jfoenix</groupId>
  4. <artifactId>jfoenix</artifactId>
  5. <version>8.0.8</version>
  6. </dependency>
  7. </dependencies>

初次之外,还需要下一款软件,javafx_scenebuilder,相当于预览界面,不过每次预览都得打开软件,感觉还是有些繁琐,并不能像Android那样边改边预览。

不过,JavaFx只有这款软件可以用,既然没办法造工具,那么只好去使用现有的工具吧。

javafx_scenebuilder下载

下载2.0的windows安装文件即可

制作一个HelloWorld程序

1.打开IDEA,新建一个JavaFx项目

2.添加Maven到项目



这里,不知道怎么回事,IDEA还是使用的默认的Maven设置,我们还是得设置一下,不然IDEA又会重新下载一些工具包

3.使用Maven添加Jfoenix

pom.xml文件中粘贴上面添加Jfoenix的代码

4.修改布局

打开simple.xml文件,在里面加入一个label标签(也就是swing中显示文字用的控件)

  1. <?import javafx.geometry.Insets?>
  2. <?import javafx.scene.layout.GridPane?>
  3. <?import javafx.scene.control.Button?>
  4. <?import javafx.scene.control.Label?>
  5. <GridPane fx:controller="sample.Controller"
  6. xmlns:fx="http://javafx.com/fxml" alignment="center" hgap="10" vgap="10">
  7. <Label text="hello wolrd"/>
  8. </GridPane>

PS:

  • 还有,在文件任意一处点击右键,选择open in scenebuilder,之后选择我们安装的exe文件即可
  • 之后,该文件的下面就可以切换到Scenebuilder预览界面

scene builder还可以导入我们的Jfoenix的jar包,如图,点击齿轮,之后选择jJfoenix的ar包

5.运行

运行这里会出现异常,界面跑不出来,因为我们使用了Maven,它会把java文件编译成的class文件默认放在一个名为target的文件夹中,然后,那个文件夹没有我们所需要的布局文件,所以就会报错。

解决方法

再次运行,成功!!

Java开发桌面程序学习(一)——JavaFx+Jfoenix初始以及搭建的更多相关文章

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

    布局 前言 刚开始的时候,不知道使用什么布局,发现SceneBuilder其实有8.5版本的,里面就是有提供一个简单的桌面程序模板,8.5可以去官网下载,不过网速好像有点慢,慢慢等吧,官网下载地址 布 ...

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

    对话框的封装使用 最近写了个JFXUtils,DialogBuilder也是包含在里面了 JFXUtils的Github 前言 登录需要弹出登录对话框,但是,Jfoenix库使用对话框比较难受,还得动 ...

  3. Java开发桌面程序学习(九)——JavaFxTemplate JavaFx模版 更简单进行JavaFx程序开发

    JavaFxTemplate 使用说明 项目基于maven,请确保maven配置成功,否则,可能会出现问题 项目内置了commons-io的jar包,Jfoenix的jar包以及常用的工具类JFxUt ...

  4. Java开发桌面程序学习(12)——Javafx 悬浮窗提示 tooptip

    Javafx 悬浮窗提示 tooptip 鼠标悬浮在某个控件,弹出提示,效果如下: 代码: //control是某个控件 Tooltip.install(control, new Tooltip(&q ...

  5. Java开发桌面程序学习(11)——javafx 鼠标点击,右击,双击

    javafx 鼠标事件 给某个控件设置鼠标点击监听器,三个条件分别判断为单击,右击还是双击 单击判断 event.getButton()==MouseButton.PRIMARY 右击判断 event ...

  6. Java开发桌面程序学习(13)——Javafx多线程 下载功能

    普通使用 Task<Void> task = new Task<Void>() { @Override protected void succeeded() { super.s ...

  7. Java开发桌面程序学习(二)————fxml布局与控件学习

    JavaFx项目 新建完项目,我们的项目有三个文件 Main.java 程序入口类,载入界面并显示 Controller.java 事件处理,与fxml绑定 Sample.fxml 界面 sample ...

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

    ImageView设置图片 JavaFx的ImageView,设置图片不能直接通过属性设置,只能通过代码来设置 ImageView设置图片 首先,我们让fxml对应的那个controller的java ...

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

    css样式表使用 javafx中的css样式,与html的有些不一样,javafx中的css,是以-fx-background-color这种样子的,具体可以参考文档JavaFx css官方文档 ja ...

随机推荐

  1. 阿里云 centOS系统 配置 node + ngnix

    **centOS系统可以直接使用yun命令** 安装node 1.使用git将源码克隆到本地的~/.nvm目录下,并检查最新版本.> yum install git > git clone ...

  2. 【第二章】Zabbix3.4监控SQLServer数据库和H3C交换机思科Cisco防火墙交换机教程笔记

    监控SQLServer数据库 SSMS执行相关SQL SQL模板命名规则 Zabbix客户端导入模板 添加SQLServer监控图形 SQLServer服务器关联模板 监控思科Cisco防火墙交换机 ...

  3. kubernetes haproxy+keepalive实现master集群高可用

    前言 master的HA,实际是apiserver的HA.Master的其他组件controller-manager.scheduler都是可以通过etcd做选举(--leader-elect),而A ...

  4. 彻底理解volatile,领悟其中奥妙

    本人免费整理了Java高级资料,涵盖了Java.Redis.MongoDB.MySQL.Zookeeper.Spring Cloud.Dubbo高并发分布式等教程,一共30G,需要自己领取.传送门:h ...

  5. 【SDUT】2019SDUTACM第一次选拔赛 F- X的追求道路

    Problem Description X在大家的帮助下终于找到了一个妹纸,于是开始了漫漫的追求之路,那么大家猜一猜X能不能追的上呢? X初始对妹纸有一个心动值,妹纸对X有一个好感值,在追求时发生的的 ...

  6. Python3---标准库---urllib

    前言 该文章主要说明Python3 标准库urllib的使用. 修改时间:20191216 修改时间:20191217 修改时间:20191218 添加urllib.parse.urlencode,u ...

  7. .netcore2.1 使用IdentityServer4 生成Token验证

    每个新技术权限验证都有一套机制,之前项目WebApi接口权限验证用的是Owin做为权限验证,而.netcore权限限制使用的是IdentityServer4,采用JWT的方法验证token. 首先使用 ...

  8. Pycharm2019最新激活注册码(pycharm激活教程)

    给大家分享一下PyCharm2019最新可用的激活注册码.激活Pycharm专业版的方法有很多,这里主要给大家分享最有效的两种,一种是使用最新可用的注册激活码,一种是使用破解补丁的方法,这种方法虽然麻 ...

  9. RDIFramework.NET敏捷开发框架WinForm新增文件中心-实现附件集中管理

    1.引言 文件中心类似附件管理是一个非常实用功能,可以归档自己平时所需要的文件,也可以把文件分享给别人,更像一个知识中心.文件中心主界面如下图所示,左侧"附件分类"展示了用户对文件 ...

  10. oracle表空间相关统计查询

    部分转自 https://www.cnblogs.com/xwdreamer/p/3511047.html--查询表空间使用情况SELECT UPPER(F.TABLESPACE_NAME) &quo ...