С трудом добавляете пользовательский значок в JFrame - PullRequest
0 голосов
/ 19 марта 2010

Я пытался изменить значок в кадре. Я практически все перепробовал:

  • Значок 16x16, который имеет правильный размер .... не работает

  • Я пробовал форматы PNG, GIF и JPG, но ни один из них не работает.

  • Попробовал другой способ установки иконки .... не работает.

  • Я пробовал относительные (локальные пути), например "icon.gif" и абсолютные пути, например "c: \ work \ java \ icon.gif" ... не работает

Вот мой код и посмотрим, сможете ли вы его выяснить Спасибо Oli

    import javax.swing.*;
    public class androidDriver 
    {

        public static void main(String[] args) throws IOException 
        {
            JFrame f = new JFrame("Android Data Viewer");
            f.setResizable(false);
            f.setSize(300,300);
            f.setLocationRelativeTo(null);
            f.setVisible(true);
            f.setIconImage(new ImageIcon("androidIcon2.gif").getImage());
        }
    }

Ответы [ 4 ]

1 голос
/ 19 марта 2010

Если вы поместите изображение в ту же директорию, что и файл класса, то для вас должно работать следующее:

        f.setIconImage(new ImageIcon(androidDriver.class.getResource("androidIcon2.gif")).getImage());

Также предлагается установить изображение значка до того, как вы сделаетевидимая рамка

        f.setIconImage(new ImageIcon(androidDriver.class.getResource("androidIcon2.gif")).getImage());
        f.setVisible(true);
0 голосов
/ 28 августа 2013

Создайте отдельную папку рядом с исходной папкой, затем поместите туда свое изображение и затем используйте ImageIO, чтобы получить изображение следующим образом:

f.setIconImage(ImageIO.read(new File("res/androidIcon2.gif")));

Также, если это не сработает, попробуйте сохранить изображение в формате .png вместо .gif.

0 голосов
/ 19 марта 2010

Вы пытались использовать Toolkit.getDefaultToolkit (). GetImage ("androidIcon2.gif")

И еще две вещи:

  1. Изображение существует? Код, который вы опубликовали, не будет работать молча.

  2. Правильно ли отформатирован? (хотя я предполагаю, что Java могла бы справиться с этим, если бы не было)

0 голосов
/ 19 марта 2010

Я подозреваю, что вам, возможно, придется ждать загрузки изображения с помощью MediaTracker. Вполне вероятно, что изображение все еще загружается в точке, на которую ссылается фрейм setIconImage, поэтому оно ничего не делает.

...