使用javaSwing实现简单桌面应用

1.导入javaSwing包

import javax.swing.*;

可能遇到以下问题(参考:The package javax.swing is not accessible错误的三种解决办法
在这里插入图片描述
解决:
jdk-13版本导入不了javax.swing.*的包,需要更换jar的版本1.8(不用重新安装java环境),右键项目中的JER,选择属性,在跳出的对话框,在执行环境中选择jdk1.8的版本,并应用
在这里插入图片描述

2.编写可执行窗口文件

public class helloword {
    /**{
     * 创建并显示GUI。出于线程安全的考虑,
     * 这个方法在事件调用线程中调用。
     */
    private static void createAndShowGUI() {
        // 确保一个漂亮的外观风格
        JFrame.setDefaultLookAndFeelDecorated(true);

        // 创建及设置窗口
        JFrame frame = new JFrame("HelloWorldSwing");
        frame.setLocation(1000, 500);//设置窗口的位置
        frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
        frame.setSize(200, 200);//设置窗口的大小
        // 添加 "Hello World" 标签
        JLabel label = new JLabel("Hello World");
        //label.setSize(1000, 1000);
        frame.getContentPane().add(label);

        // 显示窗口
        frame.pack();
        frame.setVisible(true);
    }

    public static void main(String[] args) {
        // 显示应用 GUI
        javax.swing.SwingUtilities.invokeLater(new Runnable() {
            public void run() {
                createAndShowGUI();
            }
        });
    }
}

3.导出jar文件

在这里插入图片描述

4.将jar文件转换为exe

下载exe4j,将生成的jar文件打包成exe
在这里插入图片描述

导出遇到以下窗口
原因:未注册exe4j
在这里插入图片描述
解决方法(参考jexe4j中,报错:This executable was created with an evaluation version of exe4
在Welcome注册,用户名和公司名可随便填,注册码可选择以下任一一种(网上搜索)

A-XVK246130F-1l7msieqiwqnq

A-XVK249554F-pllh351kcke50

A-XVK238729F-25yn13iea25i

A-XVK222711F-134h5ta8yxbm0

A-XVK275016F-15wjjcbn4tpj

A-XVK275016F-15wjjcbn4tpj

在这里插入图片描述

参考
java写桌面程序
使用exe4j打包exe
java jdk1.8下载与安装
关于exe4j如何将java jar包打包成windows系统exe可执行文件,并包含JDK环境,超详细教程
使用Java开发一个简单的exe win软件 javawindows开发

  • 5
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Java Swing 是一个用于创建桌面应用程序的 GUI 工具包。要实现上传文件,我们可以使用 JFileChooser 和 FileInputStream 类以及其他相关类。 下面是一个简单的示例代码,用于演示如何使用 Java Swing 实现上传文件功能: ``` import javax.swing.*; import java.awt.*; import java.awt.event.*; import java.io.*; public class UploadFile extends JFrame implements ActionListener { private JButton selectButton; private JButton uploadButton; private JLabel statusLabel; private JFileChooser fileChooser; private File selectedFile; public UploadFile() { super("Upload File"); selectButton = new JButton("Select File"); selectButton.addActionListener(this); uploadButton = new JButton("Upload File"); uploadButton.addActionListener(this); uploadButton.setEnabled(false); statusLabel = new JLabel("No file selected."); fileChooser = new JFileChooser(); fileChooser.setFileSelectionMode(JFileChooser.FILES_ONLY); JPanel panel = new JPanel(new GridLayout(3, 1)); panel.add(selectButton); panel.add(uploadButton); panel.add(statusLabel); add(panel); setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); setSize(300, 150); setVisible(true); } public void actionPerformed(ActionEvent e) { if (e.getSource() == selectButton) { int result = fileChooser.showOpenDialog(this); if (result == JFileChooser.APPROVE_OPTION) { selectedFile = fileChooser.getSelectedFile(); statusLabel.setText(selectedFile.getName() + " selected."); uploadButton.setEnabled(true); } } else if (e.getSource() == uploadButton) { try { FileInputStream fileInputStream = new FileInputStream(selectedFile); // 调用上传文件的方法,这里省略具体实现 uploadFile(selectedFile.getName(), fileInputStream); statusLabel.setText(selectedFile.getName() + " uploaded successfully."); uploadButton.setEnabled(false); } catch (IOException ex) { ex.printStackTrace(); statusLabel.setText("Error uploading file."); } } } public static void main(String[] args) { new UploadFile(); } private void uploadFile(String fileName, FileInputStream inputStream) { // 实现上传文件的具体逻辑 } } ``` 在这个示例中,我们创建了一个 JFrame 窗口,其中包含两个 JButton,一个 JLabel 和一个 JFileChooser。当用户单击“Select File”按钮时,打开一个文件选择对话框,用户可以选择要上传的文件。选择文件后,文件名将显示在 JLabel 中,并启用“Upload File”按钮。当用户单击“Upload File”按钮时,程序将打开一个 FileInputStream 对象,并调用 uploadFile() 方法将文件上传到服务器。上传文件的具体实现可以根据实际需求进行修改。 注意:在实际开发中,上传文件时应该使用多线程或异步方式,以避免阻塞用户界面。此示例中的上传代码仅作为演示用途。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值