spring boot 与swing配合使用(可实现窗口关闭项目仍然运行)

您所在的位置:网站首页 javaswing项目 spring boot 与swing配合使用(可实现窗口关闭项目仍然运行)

spring boot 与swing配合使用(可实现窗口关闭项目仍然运行)

2023-08-24 07:11| 来源: 网络整理| 查看: 265

spring boot 与swing配合使用

  有些时候,我们可能需要在项目启动后,弹出一种可视化窗口,供运维人员来傻瓜式,按步骤操作,那就需要swing 了。   今天刚接触swing ,关于它的定义我还是不要在这里说了,本篇只是实现了在springboot 项目启动后,弹出一个简单的swing 窗口,仅此而已。

1、关于引包

  javax.swing.* 包,不需要单独引入,本身在jdk 中,所以,我们不需要关注这个了。

2、具体写法

  关于swing 的配置,写到了springboot 项目的启动项位置,当然也可以抽出来,放到其他位置。

import org.springframework.boot.SpringApplication; import org.springframework.boot.autoconfigure.SpringBootApplication; import javax.swing.*; /** * Created by Administrator on 2017/12/7. */ @SpringBootApplication public class CloudUtilsApplication { public static void main(String[] args){ //SwingUtilities.invokeLater的作用可以详细百度一下,我新手 SwingUtilities.invokeLater(new Runnable() { @Override public void run() { createAndShowGUI(); } }); //spirng SpringApplication.run(CloudUtilsApplication.class,args); } private static void createAndShowGUI(){ // 创建 JFrame 实例 JFrame frame = new JFrame("Login Example"); // Setting the width and height of frame frame.setSize(350, 200); /** * 下边的这句话,如果这么写的话,窗口关闭,springboot项目就会关掉,使用 * dispose则不会 */ // frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); frame.dispose(); //如果写这句可实现窗口关闭,springboot项目仍运行 /* 创建面板,这个类似于 HTML 的 div 标签 * 我们可以创建多个面板并在 JFrame 中指定位置 * 面板中我们可以添加文本字段,按钮及其他组件。 */ JPanel panel = new JPanel(); // 添加面板 frame.add(panel); /* * 调用用户定义的方法并添加组件到面板 */ placeComponents(panel); // 设置界面可见 frame.setVisible(true); } private static void placeComponents(JPanel panel) { /* 布局部分我们这边不多做介绍 * 这边设置布局为 null */ panel.setLayout(null); // 创建 JLabel JLabel userLabel = new JLabel("User:"); /* 这个方法定义了组件的位置。 * setBounds(x, y, width, height) * x 和 y 指定左上角的新位置,由 width 和 height 指定新的大小。 */ userLabel.setBounds(10,20,80,25); panel.add(userLabel); /* * 创建文本域用于用户输入 */ JTextField userText = new JTextField(20); userText.setBounds(100,20,165,25); panel.add(userText); // 输入密码的文本域 JLabel passwordLabel = new JLabel("Password:"); passwordLabel.setBounds(10,50,80,25); panel.add(passwordLabel); /* *这个类似用于输入的文本域 * 但是输入的信息会以点号代替,用于包含密码的安全性 */ JPasswordField passwordText = new JPasswordField(20); passwordText.setBounds(100,50,165,25); panel.add(passwordText); // 创建登录按钮 JButton loginButton = new JButton("login"); loginButton.setBounds(10, 80, 80, 25); panel.add(loginButton); } }

  我在加入swing 的时候,发现,一旦关闭窗口,springboot 项目,也跟着关闭,很是郁闷,后来经过一个朋友帮忙,才知道上边的frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE) ,改为frame.dispose() 即可。



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3