簡體   English   中英

如何在沒有JFileChooser的Java Swing中打開文件

[英]How to open files in Java Swing without JFileChooser

我正在使用Java Swing(GUI),我想在我的項目中添加一個按鈕來打開文件。

我不喜歡JFileChooser因為它打開了一個小窗口來瀏覽目錄的文件。 我可以在Java Swing下使用其他東西而不是JFileChooser嗎?

我試圖使用SWT的元素,但它不起作用,意思是使用按鈕對象然后在JFrame使用它,但是失敗了,所以我猜SWT和Swing不會混合在一起?

下面是該示例的Java Swing與JFileChooser中 ,我尋找的東西像這樣把我的JFrame

Windows文件對話框

原生PLAF的JFileChooser似乎符合規定的要求。

原生PLAF文件選擇器

import javax.swing.JFileChooser;
import javax.swing.SwingUtilities;
import javax.swing.UIManager;

public class NativeFileChooser {

    public static void main(String[] args) {
        SwingUtilities.invokeLater(new Runnable() {
            @Override
            public void run() {
                try {
                    UIManager.setLookAndFeel(
                            UIManager.getSystemLookAndFeelClassName());
                } catch(Exception e) {
                    e.printStackTrace();
                }
                JFileChooser jfc = new JFileChooser();
                jfc.showOpenDialog(null);
            }
        });
    }
}

仍然不太符合你的喜好? 然后你可以從這個開始並改變它需要:


..所以我猜SWT和Swing不會混在一起?

同一頂級容器中混合使用Swing / AWT / SWT組件通常不是一個好主意。 在基於Swing的JFrame上打開AWT FileDialog不是問題,因為它們都是頂級容器。 我很確定這同樣適用於Swing / SWT或AWT / SWT。

如果您不需要JFileChooser的靈活性,則可以選擇使用本機OS文件對話框的FileDialog 另請參閱Code ranch主題SO上的這個答案

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM