Javaに関する様々な情報をご紹介します。

Javaに関する様々な情報をご紹介します。
評価

0

jFileChooserのアイコンについて

jFileChooserを利用して「開く」と「保存」のダイアログを出現させていますが、タイトルバーにあるJavaのカップアイコンを変更する、もしくは削除する方法はありませんでしょうか?
ネット検索やこの掲示板の過去記事を検索してみましたが、該当するページを見つけることが出来ませんでした。
基礎的なことかもしれませんが、どうか教えて下さい。
よろしくお願いします。

5

回答

94012

閲覧

5件の回答

評価

0

「jfilechooser アイコン」で検索したら、それっぽいところが
あったが?

評価

0

$さん、回答ありがとうございます。

「jFileChooser icon」で再度検索してみましたところ
「How to change default java icon in JFileChooser」という英文のサイトを見つけました。
サンプルコードは
JFileChooser choice = new JFileChooser()
choice.showOpenDialog(parent);
となっていますが、parentが何を指し、またどうすれば良いのかがわかりませんでしたが、親フレームのことでは?と考えて当方の親フレーム名の(MainFrame)と書き換えてみましたが赤い波線が入りエラーとなります。

また当方では
jfilechooser.showOpenDialog(null);
としていてnullを書いた理由は親フレームの中央にダイアログが配置されるためです。

基礎的な事柄なのでしょうが、どうか教えて下さい。
宜しくお願いします。

評価

0

>親フレームのことでは?と考えて
その考えを確認すべく、再度調査しよう。
メソッドのI/FならJavaDocでも分かるでしょ。

要するに、アイコンは指定した親コンポーネントから取るか
らそっちに入れておけってことなんじゃないの(仕事中につ
き試せないけど)。
ここで言う「親」が、今現在表示しているウインドウである
必要は、ないと思うが。

評価

0

$さん、回答ありがとうございます。
タイトルバーにあるJavaのカップアイコンをMainFrameのアイコンに変更することが出来ました。

手順は以下の2行のコードを追加して
JFrame frame = new JFrame();
frame.setIconImage(Toolkit.getDefaultToolkit().createImage("./img/32.png"));
そして今までは
filechooser.showOpenDialog(null);
としていたコードを以下のように変更する。
filechooser.showOpenDialog(frame);

本当にありがとうございました。

評価

0

>JFrame frame = new JFrame();
>frame.setIconImage(Toolkit.getDefaultToolkit().cr
eateImage("./img/32.png"));
>filechooser.showOpenDialog(null);
>filechooser.showOpenDialog(frame);
これだと、このframeに対してモーダルなダイアログに
なりませんか?

ソースを見れば分かると思いますが、
JFrame#createDialogをオーバーライドして、下記のよ
うにすれば良いだけでは?

@Override protected JDialog createDialog(Component 
parent) throws HeadlessException{
 JDialog dialog = super.createDialog(parent);
 dialog.setIconImage(hoge);
 return dialog;
}

質問から6ヶ月以上経過しているので、回答を書き込むことはできません。