你好,欢迎进入江苏优软数字科技有限公司官网!

诚信、勤奋、创新、卓越

友好定价、专业客服支持、正版软件一站式服务提供

13262879759

工作日:9:00-22:00

Java开发日常:用Swing开发小工具的劣势及打包分发方案

发布时间:2025-06-24

浏览次数:0

在日常工作之中,我主要运用Java语言进行编程,而在业余时刻,我对技术探究充满热情,乐于运用Java的图形用户界面库Swing来制作各种实用的小型软件工具。

然而,相较于C/C++,使用Swing进行软件开发存在一个显著不足,那就是Java编译生成的文件无法独立执行,必须借助JRE(Java运行环境)才能启动。若用户未安装JREintellij idea打包exe,该软件便无法启动。因此,鲜有人会考虑用Java来开发桌面应用程序。

当前Java程序打包分发的几种方案:

以上方案都有不同的优缺点:

技术方案在性能上有所提升,同时减少了资源消耗,并具备较高的安全性。然而,其构建过程较为耗时,调试过程也存在一定的难度。此外,该方案不支持反射Jlink二进制文件,相较于携带环境,其构建过程更为复杂,调试难度更大,且体积较大。Exe4J的使用门槛较低,提供了更好的用户体验,调试也更为便捷,但同样体积较大,且需要JRE运行。对于小工具和批处理,它并不适用。在配置上,该方案灵活且易于更新,调试也较为方便,但体积较大,同样需要JRE运行,不适合作为小工具使用。仅以Jar包形式分发时,文件较小intellij idea打包exe,易于更新,但在没有JRE的电脑上无法运行,启动需要命令,使用门槛较高,用户体验不佳。

在上述方案中,二进制文件的分发调试较为复杂,而以jar包形式进行分发则可能降低用户的使用感受。为此,我综合考量了多种方案,决定开发一个打包工具,专门用于将Java程序转换成二进制可执行文件。该工具的软件界面设计如下:

intellij idea打包exe_ Winform打包工具 _Java Swing打包工具

图片

软件使用如下:

现有一个Swing程序如下:

pom.xml文件



    4.0.0
    org.helloswing
    HelloSwing
    1.0-SNAPSHOT
    
        17
        17
        UTF-8
    
    
        
        
            com.formdev
            flatlaf
            3.5.1
        
    
    
        
            
                org.apache.maven.plugins
                maven-assembly-plugin
                3.7.1
                
                    
                    
                        jar-with-dependencies
                    
                    
                    false
                    
                    
                        
                            org.hellloswing.HelloSwing
                        
                    
                
                
                    
                        make-assembly
                        
                        package
                        
                            single
                        
                    
                
            
        
    

.java文件

package org.hellloswing;
引入 com.formdev.flatlaf.FlatDarkLaf 库;
引入包com.formdev.flatlaf.FlatLightLaf;
import javax.swing.*;
import java.awt.*;
public class HelloSwing {
public static void main(String[] args) 捕获并处理UnsupportedLookAndFeelException异常{
        // 初始化皮肤
        FlatLightLaf.install();
UIManager应用了新的外观和感觉,选择了FlatDarkLaf风格。
        // 初始化窗口
创建了一个名为 "Hello Swing!" 的 JFrame 对象,并对其进行了初始化。
        // 设置大小
        jFrame.setSize(500, 500);
        // 关闭窗口后退出
jFrame设置关闭操作为(JFrame.DISPOSE_ON_CLOSE);
        // 设置居中
设置窗口位置使其相对于屏幕居中显示。
        // 设置元素
创建了一个名为jPanel的JPanel对象,并设置了其布局管理器为BorderLayout。
jPanel中添加了一个新的JLabel组件,其显示内容为"Hello Swing!",并设置了居中对齐的方式,同时将其放置在布局的中心位置。
jFrame的getContentPane()方法添加了jPanel组件;同时,jPanel被加入到jFrame的内容面板中。
        // 显示窗口
        jFrame.setVisible(true);
    }
}

将文件封装为胖JAR格式,接着提取出精简版的JRE,再利用打包软件对JAR文件进行封装,使其与JRE结合生成exe文件。完成这些步骤后,即可通过双击来启动程序。

Java Swing打包工具 _intellij idea打包exe_ Winform打包工具

图片

特此做个记录。

如有侵权请联系删除!

13262879759

微信二维码