как я могу изменить значок программы - PullRequest
3 голосов
/ 20 сентября 2011

Я пытался найти несколько учебных пособий о том, как изменить значок программ в Java, но ни один из них, похоже, не работает.Мне также было интересно, что это за изображение .ico или .png, например, и какого размера оно должно быть

Ответы [ 2 ]

4 голосов
/ 20 сентября 2011

Я предполагаю, что вы используете JFrame, тогда вы хотите setIconImage(java.awt.Image):

File/InputStream/URL x = ...
Image icon = ImageIO.read(x);
frame.setIconImage(icon);

Формат файла изображения не имеет значения, поскольку ImageIO может его прочитать (JPEG, GIF, PNG, TIFF, даже BMP, если это действительно необходимо).

Пример:

import java.net.URL;

import javax.imageio.ImageIO;
import javax.swing.JFrame;

public class Main {

    public static void main(final String[] args) throws Exception {
        JFrame frame = new JFrame("Custom Icon");
        frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
        frame.setSize(300, 200);

        // something off the Google Images front page
        final URL url = new URL("http://t3.gstatic.com/images?q=tbn:ANd9GcQbcDkaRcrbsYFUcE6Q7n56_LJr-r4mDqYTOTtPKG9J0MzZcV6V");
        frame.setIconImage(ImageIO.read(url));

        frame.setVisible(true);
    }

}

Редактировать: Как получить URL для вашего значка

Вы должны поместить файлы изображений (значки и т. Д.) Вместе с исходным кодом, возможно, в свою собственную подпапку в папке src и обращаться к ним как к «ресурсу». Прочтите Как использовать значки из Учебного руководства по Java, чтобы узнать, как получить объект URL в ресурс.

1 голос
/ 20 сентября 2011

Я думаю, @Philipp совершенно ясно дал понять, что x должно быть File, InputStream или URL, а не String, как вы, кажется, пытались.

Теперь вам также нужно иметь Frame или JFrame, чтобы иметь иконку!

Полагаю, это в вашем main методе. Для создания рамки попробуйте

JFrame frame=new JFrame();
frame.setVisible(true);

сопровождается кодом @ Philipp.

-

Мне только что пришло в голову, что вы можете иметь в виду значок ярлыка программы в вашей операционной системе. Это делается не в Java, а в вашей операционной системе. если вы не используете Java Web start

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...