2012-05-24 11 views
12

私はちょうど不思議に思っていました:GmailはどのようにファイルをアップロードするためにWindows/Macファイルチューザーを使用していますか?これを行う方法はありますかJavaでオペレーティングシステムでデフォルトのファイルセレクタを使用するにはどうすればよいですか? java

enter image description here

個人的に、私はJFileChooserがどのように見えるという方法が好きではない、と私は私のユーザーは、彼らがより慣れているものを使用できるようにするのが良いだろうと思いました。ヒント誰ですか?

+1

AWTの[FileDialog](http://docs.oracle.com/javase/7/docs/api/java/awt/FileDialog.html) – Jeffrey

答えて

15

代わりに古いjava.awt.FileDialogを使用してください:

new java.awt.FileDialog((java.awt.Frame) null).setVisible(true); 
+0

ありがとうございました!私はこれを使用します!私は 'java.awt。* 'のコンポーネントについては本当に考えていませんでした。 – mattbdean

+0

私たちは、スイングが存在する前に、その日に多くのことを考えていました。 :) –

+4

この回答はかなり古いですが、Awtファイルダイアログの使用をお勧めしません。 LinuxとMacでは壊れており、Oracleはこれ以上修正するつもりはない。したがって、Windowユーザーのみをターゲットにしていない限り、これは良い考えではありません。さらに、ネイティブのルックアンドフィールを備えた 'JFileChooser'は、Windows上でほぼ同じように見えます。 – Veluria

4

Gmailが最終的には、このコンポーネントを表示するには、ブラウザに依存しているWebアプリケーションです。今、良い解決策は、あなたが示すものに非常に似てJFileChooserを提供するシステムのネイティブルック&フィールを使用することです:

UIManager.setLookAndFeel(UIManager.getSystemLookAndFeelClassName()); 

enter image description here

EDIT:それは正確に提供するので、パルサーのソリューションは、より良いですあなたが探しているダイアログ。私はそれがJFileChooserのすべての機能を提供しているとは確信していません。

7

あなたはJFileChooserのを使ってますが外観を設定してみてくださいとプラットフォームのルックアンドフィールであることを感じることができます。

try { 
     UIManager.setLookAndFeel(UIManager.getSystemLookAndFeelClassName()); 
    }catch(Exception ex) { 
     ex.printStackTrace(); 
    } 

そしてそれは、すべてのSwingコンポーネントは、見た目が良くなるだろう!

関連する問題