java开发界面程序有awt, swing, swt(eclipse),javafx等技术
# awt和 swing
1.awt是基于本地方法的C/C++程序,其运行速度比较快;
而swing是基于awt的Java程序,其运行速度比较慢。
2.AWT的控件在不同的平台可能表现不同,而Swing在所有平台表现一致。
3.AWT和Swing的实现原理不同。
AWT的图形函数与操作系统提供的图形函数有着一一对应的关系。
而Swing 不仅提供了AWT 的所有功能,还用纯粹的Java代码对AWT的功能进行了大幅度的扩充。
# javafx
是当年开发出来对标flex和Silverlight的网络上富客户端技术,网页上html5更加流行后javafx还有开发界面应用的余威可用
JavaFX Scene Builder是一种可视布局工具,允许用户快速设计JavaFX应用程序用户界面,而无需编码。用户可以将UI组件拖放到工作区,修改其属性,应用样式表,并且它们正在创建的布局的FXML代码将在后台自动生成。它的结果是一个FXML文件,然后可以通过绑定到应用程序的逻辑与Java项目组合。
下载安装后,在idea里配置一下就可以更便捷修改界面。设置-》语言和框架->javafx 选择安装的scenebuilder C:\workspace\SceneBuilder\SceneBuilder.exe
AnchorPane 就是决定坐标定位的面板,方便拖拽修改,编辑完保存回到idea里继续java代码
采用javafx开发界面布局可以单独用工具修改xml文件,样式可以用css,这样有利于分工。
随手做了一个入门小例子,发现几个注意点:
1 应用图标如果是image ,默认不支持ico,因为ico是window的,java默认跨平台用其他格式图片吧
2 按钮的快捷键可以用纯代码注册整个应用快捷键,也可以用一个下划线加一个字母标识
3 得到ip,简单功能但跨平台还是有注意虚拟网卡多网卡过滤才能得到需要的ip
4 windows下运行jar不想要终端在后面用javaw -jar xx.jar就能启动一个纯界面应用
linux下用nohup java -jar xx.jar > xx.log &
5 下载SceneBuilder 推荐
https://gluonhq.com/products/scene-builder/
jdk8 用老版本,新版本jdk11及以上
附完整代码 https://download.csdn.net/download/qiaozhangchi/20285248