赞
踩
工具:Intellij IDEA 2018.2.6 + JDK8 + maven 3 + UI Designer(IDEA自带插件)
java swing是java se的内容,不需要用到java ee的框架。借用maven工具快速创建一个工程:
默认会创建一个App.java类,执行该类的main方法,若能正常打印Hello World!则应用构建正常。
删除掉上面默认创建的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);
}
再次启动,效果如下:
至此,主窗体已经搭建完成。
借助UI Designer,可以快速的拖入想要的组件。每种组件都有各自的使用特点,这里不详细扩展了。
这里以新增的按钮为例,定义一个点击事件:
选中按钮,右击选择Create Listener
,然后选择0.MouseListener
,再选择mouseClicked(e.MouseEvent):void
:
则会自动在MainForm类里面生成一段监听器代码:
public MainForm() {
inputFileBtn.addMouseListener(new MouseAdapter() {
@Override
public void mouseClicked(MouseEvent e) {
super.mouseClicked(e);
}
});
}
比如,我这里需要弹出一个文件夹选择器,然后选择文件夹后,将选中的文件夹路径填写到文本框中:
inputFileBtn.addMouseListener(new MouseAdapter() {
@Override
public void mouseClicked(MouseEvent e) {
// 引入一个文件选择器对象
JFileChooser chooser = new JFileChooser();
// 控制只选择文件夹,而不是文件
chooser.setFileSelectionMode(JFileChooser.DIRECTORIES_ONLY);
if (chooser.showOpenDialog(mainPanel) == JFileChooser.APPROVE_OPTION) {
inputFileTxt.setText(chooser.getSelectedFile().getPath());
}
}
});
运行效果如下:
根据需要,照葫芦画瓢,添加组件,定义事件。
程序开发好后,肯定是需要打包为可运行jar包的。借助IDEA 可以很方便的打出来。
到Project Structure
设置页面:
弹出一个小窗口,需要定义main方法入口:
选择main方法的入口类,并定义MAINFEST.MF文件所在的位置,可以放在src下面,确认。
然后打包Build -> Build Artfacts -> 选择钢管定义的包名 -> Build:
这样就会在对应的目录下,生成可运行jar包了。
如果一不小心,点击了maven的clean install,再次打包后,运行jar包会出现空指针异常。通过IDEA去启动应用也会出现同样的异常,具体代码就是某个组件没有初始化。
此时,需要做的就是:重新构建一下工程,Build -> Rebuild Project
。再次打包就可以了。
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。