Как изменить значок Java по умолчанию в JFileChooser - PullRequest
3 голосов
/ 09 августа 2011

Я хочу изменить встроенный значок Java с JFileChooser. В классе JFrame есть метод setIconImage() для значка set. Но я не смог найти ничего подобного для JFileChooser. Не меняя эту кофейную чашку, любой может легко распознать, что мое программное обеспечение сделано с использованием Java. Может ли кто-нибудь помочь мне избежать этого?

Ответы [ 4 ]

10 голосов
/ 09 августа 2011

IIRC значок для JFileChooser берется из переданного jFrame. Изменяя значок для JFrame, вы также должны получить изменение отраженного значка в JFileChooser.

код:

JFileChooser choice = new JFileChooser()
choice.showOpenDialog(parent);

Используемая иконка является иконкой от родителя.

6 голосов
/ 09 августа 2011

Это может помочь:

JFileChooser fc = new JFileChooser(new File("C:/")){
    @Override
    protected JDialog createDialog( Component parent ) throws HeadlessException {
        JDialog dialog = super.createDialog( parent );
        BufferedImage image = new BufferedImage( 16, 16, BufferedImage.TYPE_3BYTE_BGR );
        dialog.setIconImage( image );
        return dialog;
    }
};
fc.showOpenDialog(frame);
3 голосов
/ 09 августа 2011
1 голос
/ 11 июня 2013
javax.swing.JFileChooser jfc = new javax.swing.JFileChooser(new java.io.File("C:/Users/Documents")) {
            @Override
            protected javax.swing.JDialog createDialog(java.awt.Component parent) throws java.awt.HeadlessException {
                javax.swing.JDialog dialog = super.createDialog(parent);

                dialog.setIconImage(new
                        javax.swing.ImageIcon("C:/Img.png").getImage());

                return dialog;

            }
        };
...