IDEA+maven+javafx(java 1.8)入坑记录
序
好久没写博客了,主要是因为懒,写博客真的是个难坚持的事。但今天登上来看了看,之前记录ctf写的wp竟然点击量这么多了,突然让我有了继续写下去的动力。
这段时间遇到了好多事,中间也有想过写几篇文章记录下,每每准备动笔时都懒癌发作,有的文章起个头就没写了。
这次这个破玩意让我费了九牛二虎之力,而且我发现网上文章几乎没有此类教程时,让我重燃了写博客的斗志。
起因
最近看到了这个东西,下载下来用了下,发现是python做了一个界面,收集的各种工具。而最主要不是这个工具本身,而是让我感觉师傅们好像都在做GUI界面,我突然就有了兴趣,也想自己搞一搞了。
我简单看了看这里面的工具,大部分是java做的,大部分好像是jwt或swing做的,也有一些好看一点的就是javafx做的了。
对于GUI,我之前学过一点qt,但是被它槽和信号折磨的头痛欲裂,再加上其灵活多变,国内教程少就放弃了。然后看了看其它的GUI,由于我想要跨平台、可编辑GUI(说白了就是懒)并且我对js一窍不通,最后就选择学一下javafx。
开整
打开百度和b站我才发现,这破玩意好多人还在用eclipse做开发,idea做的教程少之又少,国内甚至没有,于是我自己开启了排坑之路。
第一步:下载JavaFX Scene Builder
地址:https://www.oracle.com/java/technologies/javafxscenebuilder-1x-archive-downloads.html
这个东西的作用就是让你有可编辑的GUI界面,甚至可以直接生成代码并预览,非常方便。
安装好后就会有下面这个图标:
同时下好fx插件
第二步:去官网看教程按步骤做
这块很重点,建议跟着一步一步来
地址:https://openjfx.cn/openjfx-docs/#next-steps
新建一个maven项目,archetype选javafx,一般来说第一次都没有,按照官网说明添加即可
名字瞎b起,maven选自己的比较好,然后到重点了,这里一定要按照官网选择javafx-archetype-fxml或javafx-archetype-simple,不能用默认配置
这里我选择了simple的模式后,完成
此时我们按照教程运行compiler:compile大概率是会报错的
这是由于jdk版本问题导致,官网默认是11,而我们用的是8
首先把pom.xml这里改掉
然后进入setting把这里改掉
然后看一下代码App.java,可以看到var类型在java8中并不支持,所以手动替换
module-info.java我们也并不需要,删掉即可
好了,此时我们compiler:compile,并且javafx:run。或者直接在App.java的main函数里右键run,就能出现如下窗口
此时还没实现GUI编辑,你可以构建如下目录。这里要注意resources下级目录要与java中保持一致
具体simple.fxml的内容可以参考在创建项目时直接选择javafx的,也可以选择javafx-archetype-fxml,这样会自带resources和fxml
代码改掉
此时就可使用GUI编程了
第三步:编译处jar文件
我们目的是跨平台的软件,肯定要编译成jar去运行,此处设置如下
先把编译版本选成java8
然后建立artifacts,此处一定注意如图选项,不能用默认的,必须选到根目录,不然编译完成后会找不到主类
点击build
双击运行一下
到这里就大功告成了!!!!!!
当然有了maven你想加什么依赖都是很容易的事了,最后展示一下,我的小玩具
最新文章
- gtp转换mbr
- zookeeper分布式部署-mac先测试
- HDU 5996:dingyeye loves stone(阶梯博弈)
- TCP的流量控制和拥塞控制
- 详解@Autowired、@Qualifier和@Required
- iOS开发之数据存取3-CoreData自定义数据类型
- BZOJ3858: Number Transformation
- Android Service 生命周期和使用注意项
- opencv在VS2010命令行编译过程
- Dolls - 4160(简单二分图匹配)
- 基于VMware的eCos环境编译redboot(脚本配置redboot)
- javascript数组去重算法-----4(另一种写法__2)
- Hibernate与IBatis的优缺点及可行性分析
- java初级开发程序员(第六单元)
- SQLServer Agent执行[分发清除: distribution] 无法删除快照文件
- GitHub前50名的Objective-C动画相关库相关推荐,请自行研究
- js 获取输入框中光标的索引位置
- 小白的CTF学习之路3——二进制数据基础与运算(下)
- js中的new Option默认选中
- python之attrgetter函数对对象排序
热门文章
- NKOJ-4573 Falsita
- Java中的位运算符 &;、|、^、~、<;<; 和 >;>;
- Hadoop的HA(ZooKeeper)安装与部署
- 转:基于 xilinx vivado 的PCIE ip核设置与例程代码详解
- 【Docker】Maven打包SpringBoot项目成Docker镜像并上传到Harbor仓库(Eclipse、STS、IDEA、Maven通用)
- initNativeTransServiceId . ntrans:object componentId :-368613127 微信小程序
- SDKStyle的Framework项目使用旧版项目文件生成的Nuget包遇到的问题
- mysql 免密码登录
- [hdu7099]Just Another Data Structure Problem
- [hdu6715]算术