3

Java Swing (GUI) を使用しており、ファイルを開くためのボタンをプロジェクトに追加したいと考えています。

JFileChooserディレクトリのファイルを参照するための小さなウィンドウが開くので、私は好きではありません。JFileChooser Java Swingの代わりに何か他のものを使用できますか?

SWT の要素を使用しようとしましたが、うまくいきませんでした。つまり、ボタン オブジェクトを使用して 内で使用しましたJFrameが、失敗したので、SWT と Swing は混在していないと思いますか?

JFileChooser を使用したJava Swingの例を次に示しますJFrame

Windows ファイル ダイアログ

4

2 に答える 2

5

JFileChooserネイティブ PLAF では、規定の要件を満たしているようです。

ネイティブ 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 コンポーネントを同じ最上位のコンテナに混在させることはお勧めできません。どちらもトップレベルのコンテナであるためFileDialog、Swing ベースで AWT を開くことは問題ありません。JFrame同じことがSwing/SWTまたはAWT/SWTにも当てはまると確信しています。

于 2012-06-05T16:30:05.663 に答える
3

の柔軟性が必要ない場合は、ネイティブ OS ファイル ダイアログを使用する をJFileChooser選択できます。コード牧場のトピックSOに関するこの回答FileDialogも参照してください

于 2012-06-05T16:06:56.527 に答える