圣诞节前夕 收到女朋友一个要求 想让我画一棵圣诞树
身为java端工程师 我只能 黑人问号 我除了会出json接口 一无所有。
不过后来仔细想一下,也不是没有方案且基本的技术以前都玩过 不过是过时的技术,无聊就又重新掏了出来。话说使用python什么的实现巨简单,权当娱乐。
这个需求最主要的难点在于两点,如何实现跨平台。以及如何实现GUI。
关于跨平台这里是我自定义的,java本身是一门跨平台的语言,但是这基于java虚拟机的基础上,没有安装jre环境的机器是无法运行java程序的,所以我想起了大学时期为了毕设演示搞出来的exe4j,这是一款将java程序打包成exe程序的软件,实现原理未知。官方网站倒是还存在exe4j for Windows Latest Version Download。欢迎有兴趣的小朋友们去瞅一瞅这个老家伙。
至于gui,这里我想起了古老的swing,现在学习java的人可能都不知道是什么。它是一个为Java设计的GUI工具包,曾经用于跨平台的桌面端程序开发,现在感觉淘汰的差不多了,如果有还在用的老铁请不要感到冒犯。【dog】狗头保命。大致是创建一个滑板,然后可以在上面任意区域绘制任意颜色的图形。也可以通过读取图片中的像素作为图形。这里就只获取了网络上的一个圣诞树程序作为一个demo.我用Java画了一棵圣诞树_打代码的小明的博客-CSDN博客_java圣诞树
成品大概是这个样子.
上诉只有一个带有main方法的程序,我们需要将它打包成一个jar文件。这一步我一般通过maven打包,构建一个普通的maven程序,然后将packaging 类型设置成jar.并添加如下的build参数,并且在mainClass中设置主程序入口。
使用maven package,运行结束后就可以得到一个jar文件。本地使用java -jar 启动成功,但是因为第三方PC没有jre环境,我们还需要使用exe4j进行重新打包成exe文件。
具体执行方式可以直接在网上搜索,我参考了把可执行jar打包成exe文件_小蓝的博客-CSDN博客_jar打包成exe 这一篇文档。
按步骤执行完毕,获取到对应的exe文件。本机打开程序正常,然后请朋友使用没有jre环境的主机打开,正常。任务结束。