记录一次Swing入门级开发

阅读: 评论:0

记录一次Swing入门级开发

记录一次Swing入门级开发

工具:Intellij IDEA 2018.2.6 + JDK8 + maven 3 + UI Designer(IDEA自带插件)

1. 创建工程

java swing是java se的内容,不需要用到java ee的框架。借用maven工具快速创建一个工程:



默认会创建一个App.java类,执行该类的main方法,若能正常打印Hello World!则应用构建正常。

2. 引入Swing窗体

删除掉上面默认创建的App.java类。并新建一个GUI Form,定义类名称为MainForm。
采用IDEA默认的GridLayoutManager(Intellij) 即可。


点击OK后,会默认生成MainForm类,和一个MainForm.form文件。

默认生成的JPanel就是主窗体,给这个窗体定义一个对象名称,例如:mainPanel

这样,对应的mainForm类里面也会出现一个JPanel变量:

右击Generate,选择Form main(),则会自动生成main方法。


启动该main方法,可以看到一个小不点窗体。

可以稍微修改下窗体的名称和大小:

public static void main(String[] args) {JFrame frame = new JFrame("我的应用");  // 指定应用名称frame.setContentPane(new MainForm().mainPanel);frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);frame.pack();frame.setSize(800, 400);  // 指定窗体大小frame.setVisible(true);
}

再次启动,效果如下:

至此,主窗体已经搭建完成。

3. 绘制表单

借助UI Designer,可以快速的拖入想要的组件。每种组件都有各自的使用特点,这里不详细扩展了。

这里以新增的按钮为例,定义一个点击事件:
选中按钮,右击选择Create Listener,然后选择0.MouseListener,再选择mouseClicked(e.MouseEvent):void



则会自动在MainForm类里面生成一段监听器代码:

public MainForm() {inputFileBtn.addMouseListener(new MouseAdapter() {@Overridepublic void mouseClicked(MouseEvent e) {useClicked(e);}});
}

比如,我这里需要弹出一个文件夹选择器,然后选择文件夹后,将选中的文件夹路径填写到文本框中:

inputFileBtn.addMouseListener(new MouseAdapter() {@Overridepublic void mouseClicked(MouseEvent e) {// 引入一个文件选择器对象JFileChooser chooser = new JFileChooser();// 控制只选择文件夹,而不是文件chooser.setFileSelectionMode(JFileChooser.DIRECTORIES_ONLY);if (chooser.showOpenDialog(mainPanel) == JFileChooser.APPROVE_OPTION) {inputFileTxt.SelectedFile().getPath());}}
});

运行效果如下:

根据需要,照葫芦画瓢,添加组件,定义事件。

4. 打包

程序开发好后,肯定是需要打包为可运行jar包的。借助IDEA 可以很方便的打出来。
Project Structure设置页面:

弹出一个小窗口,需要定义main方法入口:

选择main方法的入口类,并定义MAINFEST.MF文件所在的位置,可以放在src下面,确认。

然后打包Build -> Build Artfacts -> 选择钢管定义的包名 -> Build:


这样就会在对应的目录下,生成可运行jar包了。

避坑备注:

如果一不小心,点击了maven的clean install,再次打包后,运行jar包会出现空指针异常。通过IDEA去启动应用也会出现同样的异常,具体代码就是某个组件没有初始化。

此时,需要做的就是:重新构建一下工程,Build -> Rebuild Project。再次打包就可以了。

本文发布于:2024-02-05 05:54:00,感谢您对本站的认可!

本文链接:https://www.4u4v.net/it/170725643363604.html

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

标签:入门级   Swing
留言与评论(共有 0 条评论)
   
验证码:

Copyright ©2019-2022 Comsenz Inc.Powered by ©

网站地图1 网站地图2 网站地图3 网站地图4 网站地图5 网站地图6 网站地图7 网站地图8 网站地图9 网站地图10 网站地图11 网站地图12 网站地图13 网站地图14 网站地图15 网站地图16 网站地图17 网站地图18 网站地图19 网站地图20 网站地图21 网站地图22/a> 网站地图23