代码拉取完成,页面将自动刷新
GUI Form
是IntelliJ IDEA提供的快速创建GUI界面的功能,通过拖拽组装组件、自动生成代码的方式完成GUI界面的绘制。
设置GUI代码生成的位置为source code,打开File | Settings | Editor | GUI Designer
,并设置
引入(自动生成的GUI源码需要的)依赖
<dependency>
<groupId>com.intellij</groupId>
<artifactId>forms_rt</artifactId>
<version>7.0.3</version>
</dependency>
示例:
public class DemoGUI {
private JPanel jPanel;
private JTextField jTextField;
private JLabel jLable;
private JButton button;
public DemoGUI() {
button.addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent e) {
String inputText = jTextField.getText();
/// 弹出框
JDialog jDialog = new JDialog();
// 设置相对位置. null代表位于屏幕居中
jDialog.setLocationRelativeTo(null);
// 设置标题
jDialog.setTitle("Information");
// 设置可见性
jDialog.setVisible(true);
// 设置大小
jDialog.setSize(200, 80);
// 设置弹出框图标
try {
InputStream inputStream = Objects.requireNonNull(DemoGUI.class.getResourceAsStream("/information.png"));
jDialog.setIconImage(ImageIO.read(inputStream));
} catch (Exception exc) {
throw new UndeclaredThrowableException(exc);
}
// 给弹出框面板添加组件
Container contentPane = jDialog.getContentPane();
contentPane.add(new JLabel("hello~ " + inputText));
}
});
}
生成源码:
提示:如果你想修改生成的GUI代码(即:你想避免每次运行main方法时都生成GUI代码),你只需要使java类没有对应的form文件即可:
- 你可以在首次生成GUI源码后,删除掉对应的form文件,然后再修改GUI源码即可。
- 你也可以在首次生成GUI源码后,直接复制一个新的java类出来(只复制java类不复制对应的form文件),然后再修改GUI源码即可。
观察效果:
点击【确定】,弹出新的对话框:
在pom中添加打包插件maven-shade-plugin
<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<groupId>org.example</groupId>
<artifactId>gui-form</artifactId>
<version>1.0.0</version>
<properties>
<maven.compiler.source>8</maven.compiler.source>
<maven.compiler.target>8</maven.compiler.target>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
</properties>
<dependencies>
<!-- https://mvnrepository.com/artifact/com.intellij/forms_rt -->
<dependency>
<groupId>com.intellij</groupId>
<artifactId>forms_rt</artifactId>
<version>7.0.3</version>
</dependency>
</dependencies>
<build>
<resources>
<resource>
<directory>src/main/resources</directory>
<includes>
<!--包含文件夹以及子文件夹下所有资源-->
<include>**/*.*</include>
</includes>
</resource>
</resources>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-shade-plugin</artifactId>
<version>3.2.4</version>
<configuration>
<transformers>
<transformer implementation="org.apache.maven.plugins.shade.resource.AppendingTransformer">
<resource>META-INF/spring.handlers</resource>
</transformer>
<transformer implementation="org.springframework.boot.maven.PropertiesMergingResourceTransformer">
<resource>META-INF/spring.factories</resource>
</transformer>
<transformer implementation="org.apache.maven.plugins.shade.resource.AppendingTransformer">
<resource>META-INF/spring.schemas</resource>
</transformer>
<transformer implementation="org.apache.maven.plugins.shade.resource.ServicesResourceTransformer" />
<transformer implementation="org.apache.maven.plugins.shade.resource.ManifestResourceTransformer">
<!-- main类 -->
<mainClass>com.example.guiform.DemoGUI</mainClass>
</transformer>
</transformers>
</configuration>
<executions>
<execution>
<phase>package</phase>
<goals>
<goal>shade</goal>
</goals>
</execution>
</executions>
</plugin>
</plugins>
</build>
</project>
打成jar包并运行
此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。
如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。