首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 編程語言 >  >> Java 程式設計 >> Java 相關知識

Java Swing 實現檔案選擇器啟動 .exe 程式

     編輯:Java 相關知識

本範例示範如何使用 JFileChooser 選擇本地可執行檔,並透過 Runtime.exec() 啟動它。

完整程式碼

import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
import java.io.*;

public class ChooserRun extends JFrame implements ActionListener {
    private JButton btnOpen;
    private JTextPane textPane;
    private JFileChooser chooser = new JFileChooser();

    public ChooserRun() {
        super("檔案選擇器啟動程式");
        setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
        setLayout(new BorderLayout());

        btnOpen = new JButton("開啟檔案選擇器");
        btnOpen.addActionListener(this);
        add(btnOpen, BorderLayout.NORTH);

        textPane = new JTextPane();
        add(new JScrollPane(textPane), BorderLayout.CENTER);

        setSize(400, 300);
        setLocationRelativeTo(null);
        setVisible(true);
    }

    @Override
    public void actionPerformed(ActionEvent e) {
        if (e.getSource() == btnOpen) {
            int result = chooser.showOpenDialog(this);
            if (result == JFileChooser.APPROVE_OPTION) {
                File file = chooser.getSelectedFile();
                try {
                    Runtime.getRuntime().exec(file.getAbsolutePath());
                    textPane.setText("已啟動:" + file.getName());
                } catch (IOException ex) {
                    ex.printStackTrace();
                    textPane.setText("啟動失敗:" + ex.getMessage());
                }
            }
        }
    }

    public static void main(String[] args) {
        SwingUtilities.invokeLater(ChooserRun::new);
    }
}

關鍵點說明

  • JFileChooser:跨平台檔案選擇對話框
  • Runtime.exec(String):啟動外部程式,需傳入絕對路徑
  • SwingUtilities.invokeLater():確保 GUI 在事件派發執行緒建立
  • 錯誤處理:捕獲 IOException 並回饋給使用者

注意:僅能啟動本機可執行檔;若需傳遞參數,請使用 exec(String[]) 重載。

  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved