Java开发桌面程序学习(一)——JavaFx+Jfoenix初始以及搭建
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
标签
<dependencies>
<dependency>
<groupId>com.jfoenix</groupId>
<artifactId>jfoenix</artifactId>
<version>8.0.8</version>
</dependency>
</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中显示文字用的控件)
<?import javafx.geometry.Insets?>
<?import javafx.scene.layout.GridPane?>
<?import javafx.scene.control.Button?>
<?import javafx.scene.control.Label?>
<GridPane fx:controller="sample.Controller"
xmlns:fx="http://javafx.com/fxml" alignment="center" hgap="10" vgap="10">
<Label text="hello wolrd"/>
</GridPane>
PS:
- 还有,在文件任意一处点击右键,选择open in scenebuilder,之后选择我们安装的exe文件即可
- 之后,该文件的下面就可以切换到Scenebuilder预览界面
scene builder还可以导入我们的Jfoenix的jar包,如图,点击齿轮,之后选择jJfoenix的ar包
5.运行
运行这里会出现异常,界面跑不出来,因为我们使用了Maven,它会把java文件编译成的class文件默认放在一个名为target的文件夹中,然后,那个文件夹没有我们所需要的布局文件,所以就会报错。
解决方法
再次运行,成功!!
Java开发桌面程序学习(一)——JavaFx+Jfoenix初始以及搭建的更多相关文章
- Java开发桌面程序学习(四)——常用应用布局模板和简单分析
布局 前言 刚开始的时候,不知道使用什么布局,发现SceneBuilder其实有8.5版本的,里面就是有提供一个简单的桌面程序模板,8.5可以去官网下载,不过网速好像有点慢,慢慢等吧,官网下载地址 布 ...
- Java开发桌面程序学习(三)——基于Jfoenix库的JFXDialog封装仿Android对话框的工具DialogBuilder
对话框的封装使用 最近写了个JFXUtils,DialogBuilder也是包含在里面了 JFXUtils的Github 前言 登录需要弹出登录对话框,但是,Jfoenix库使用对话框比较难受,还得动 ...
- Java开发桌面程序学习(九)——JavaFxTemplate JavaFx模版 更简单进行JavaFx程序开发
JavaFxTemplate 使用说明 项目基于maven,请确保maven配置成功,否则,可能会出现问题 项目内置了commons-io的jar包,Jfoenix的jar包以及常用的工具类JFxUt ...
- Java开发桌面程序学习(12)——Javafx 悬浮窗提示 tooptip
Javafx 悬浮窗提示 tooptip 鼠标悬浮在某个控件,弹出提示,效果如下: 代码: //control是某个控件 Tooltip.install(control, new Tooltip(&q ...
- Java开发桌面程序学习(11)——javafx 鼠标点击,右击,双击
javafx 鼠标事件 给某个控件设置鼠标点击监听器,三个条件分别判断为单击,右击还是双击 单击判断 event.getButton()==MouseButton.PRIMARY 右击判断 event ...
- Java开发桌面程序学习(13)——Javafx多线程 下载功能
普通使用 Task<Void> task = new Task<Void>() { @Override protected void succeeded() { super.s ...
- Java开发桌面程序学习(二)————fxml布局与控件学习
JavaFx项目 新建完项目,我们的项目有三个文件 Main.java 程序入口类,载入界面并显示 Controller.java 事件处理,与fxml绑定 Sample.fxml 界面 sample ...
- Java开发桌面程序学习(七)——ImageView设置图片以及jar包读取fxml文件
ImageView设置图片 JavaFx的ImageView,设置图片不能直接通过属性设置,只能通过代码来设置 ImageView设置图片 首先,我们让fxml对应的那个controller的java ...
- Java开发桌面程序学习(十)——css样式表使用以及Button悬浮改变样式实现
css样式表使用 javafx中的css样式,与html的有些不一样,javafx中的css,是以-fx-background-color这种样子的,具体可以参考文档JavaFx css官方文档 ja ...
随机推荐
- VirtualBox中重建Host-Only网卡后无法启动虚拟机
问题: 在删除原有VirtualBox Host-Only虚拟网卡并重新添加后,虚拟机可能会无法启动,出现以下错误 Failed to open/create the internal network ...
- 【使用篇二】SpringBoot集成SpringSecurity(22)
SpringSecurity是专门针对基于Spring项目的安全框架,充分利用了依赖注入和AOP来实现安全管控.在很多大型企业级系统中权限是最核心的部分,一个系统的好与坏全都在于权限管控是否灵活,是否 ...
- 富文本编辑器 tinymce 的安装与使用
百度的富文本编辑器大家都熟悉,那么下面给大家介绍一款富文本编辑器tinymce ,个人感觉比百度的界面好看,调用方便,就不知道各位大神怎么看咯! tinymce中文文档 以下是vue中使用示例,献上最 ...
- laravel中间件的使用
简介HTTP 中间件提供了为过滤进入应用的 HTTP 请求提供了一套便利的机制.例如,Laravel 内置了一个中间件来验证用户是否经过授权,如果用户没有经过授权,中间件会将用户重定向到登录页面,否则 ...
- 【Oracle】datafile的resize大小确认方法
在对Oracle的表进行删除操作的时候,虽然数据被清空了,但是物理上占用的空间却没有被释放掉,这有可能使我们的DB服务器的物理存储始终在增长. 我们在删除用户,表的同时也要对datafile文件进行r ...
- Git详细学习教程
作者:gafish https://github.com/gafish/gafish.github.com Git简介 Git 是一种分布式版本控制系统,它可以不受网络连接的限制,加上其它众多优点,目 ...
- 01-Java类加载机制详解
类的加载过程 在使用java命令运行主类(main)的时候,首先要通过类加载器将类加载到JVM内存中去.主类在运行过程中如果用到其他的类就会逐步加载这些类.jar包里的类并不是一次性加载的,是使用的时 ...
- git worktree 使用笔记
一 worktree 的基本概念和操作 再也不用克隆多个仓库啦!git worktree 一个 git 仓库可以连接多个工作目录 - walterlv的专栏 - CSDN博客 再也不用克隆多个仓库啦! ...
- (转)isolation forest进行异常点检测
原文链接:https://www.cnblogs.com/gczr/p/9156971.html 一.简介 孤立森林(Isolation Forest)是另外一种高效的异常检测算法,它和随机森林类似, ...
- Java入门——在Linux环境下安装JDK并配置环境变量
Java入门——在Linux环境下安装JDK并配置环境变量 摘要:本文主要说明在Linux环境下JDK的安装,以及安装完成之后环境变量的配置. 使用已下载的压缩包进行安装 下载并解压 在Java的官网 ...