Как добавить изображение в строку заголовка JFrame? - PullRequest
2 голосов
/ 19 июня 2011

Я хочу добавить изображение (маленький значок) в строку заголовка javax.swing.JFrame.

Как я могу это сделать?

1 Ответ

11 голосов
/ 19 июня 2011

Поскольку JPanel не имеет строки заголовка, я предполагаю, что вы имеете в виду JFrame. При этом используйте setIconImage(...).


Вот пример использования setIconImages().

import java.awt.Image;
import javax.swing.*;
import javax.imageio.ImageIO;

import java.net.URL;
import java.util.*;

class FrameIcons {

    public static void main(String[] args) throws Exception {
        URL url16 = new URL("http://i.stack.imgur.com/m0KKu.png");
        URL url32 = new URL("http://i.stack.imgur.com/LVVMb.png");

        final List<Image> icons = new ArrayList<Image>();
        icons.add(ImageIO.read(url16));
        icons.add(ImageIO.read(url32));

        SwingUtilities.invokeLater( new Runnable() {
            public void run() {
                JFrame f = new JFrame("Frame Icons");
                f.setIconImages(icons);
                f.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
                f.setLocationByPlatform(true);
                f.setSize(200,100);
                f.setVisible(true);
            }
        });
    }
}

Рамка с использованием значка 16x16

enter image description here

Вкладка приложения с помощью значка 32x32

enter image description here

...