2

Swing アプリケーションで FileChooser を作成しました。開くをクリックすると、JFrameに設定したカスタム画像ではなく、フレームの上にデフォルトの画像(Java)を表示する開くダイアログボックスが表示されます。

 Sample Code:

         JFileChooser filec=new JFileChooser();
         int fileval=filec.showOpenDialog(myjframe);

私は時々それがうまくいっていることを発見しました.これについて私を助けてください.

ここに画像の説明を入力

4

3 に答える 3

3

ダイアログに反映されるの親JFrameに画像を設定できます。JFileChooser

Image image = ImageIO.read(getClass().getResource("MyImage.png"));
myjframe.setIconImage(image);
于 2012-12-15T18:58:04.630 に答える
3

この SSCCE を使用すると、ここで確実に動作するようです。このコードは、どこにいても確実に機能しますか?

アイコン付きファイル チューザー

import java.awt.*;
import java.awt.image.BufferedImage;
import javax.swing.*;

public class FileChooserIcon {

    public static void main(String[] args) {
        Runnable r = new Runnable() {

            @Override
            public void run() {
                Image image = 
                    new BufferedImage(32,32,BufferedImage.TYPE_INT_RGB);

                JFrame f = new JFrame("Demo");
                f.setIconImage(image);
                f.setDefaultCloseOperation(JFrame.DISPOSE_ON_CLOSE);
                // See http://stackoverflow.com/a/7143398/418556 for demo.
                f.setLocationByPlatform(true);

                f.pack();
                f.setSize(600,400);
                f.setVisible(true);

                JFileChooser chooser = new JFileChooser();
                chooser.showOpenDialog(f);
            }
        };
        SwingUtilities.invokeLater(r);
    }
}
于 2012-12-16T07:14:59.673 に答える
1

JFrame f = new JFrame("設定ファイルの編集");

// 最初の 2 つの方法を使用してエラーを取得します: 非静的メソッド getClass() は静的コンテキストから参照できません

//(1) Image image = ImageIO.read(getClass().getResource("images/ctx.Icon"));
//f.setIconImage(image);

//(2) f.setIconImage(Toolkit.getDefaultToolkit().getImage(getClass().getResource("images/ctx.PNG")));
//(3) Use third way. It works for me
f.setIconImage(new ImageIcon("images/ctx.PNG").getImage());
于 2015-01-29T20:23:24.760 に答える