Создание собственного значка для JFrame

Ну, мне было интересно, могу ли я сделать изображение значка для JFrame. Я знаю, что это возможно, потому что, позвольте мне сказать, я НЕ копаю логотип Java.

Хорошо, если я просто хочу использовать объект Frame, я буду.

Может кто-нибудь сказать мне, я знаю, что это возможно!


person Noah Cagle    schedule 07.08.2013    source источник
comment
Привет, Ной, ознакомьтесь с главным ответом на этот вопрос: stackoverflow .com/questions/1614772/how-to-change-jframe-icon   -  person    schedule 08.08.2013


Ответы (3)


Во-первых, у вас должен быть файл изображения на вашем компьютере. Его можно назвать как угодно. В этом примере мы назовем его «pic.jpg». Затем вам нужно включить его в файлы, которые использует ваше приложение. Например, если вы используете NetBeans, вы просто нажимаете «Файлы» в левой части IDE (не «Файл», как в меню, заметьте). Перетащите файл изображения в папку, в которой находится основной пакет. Это будет включать его для доступного использования в коде. Внутри метода, в котором вы определяете JFrame, вы можете создать такое изображение:

Image frameImage = new ImageIcon("pic.jpg").getImage();

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

JFrame frame = new JFrame("Title");
frame.setIconImage(frameImage);

Надеюсь, это полезно.

Примечание: причина, по которой объект изображения должен быть создан таким образом, заключается в том, что изображение является абстрактным и не может быть создано с помощью команды new Image();

Респект тебе, кстати, малыш. Хотел бы я начать изучать программирование в твоем возрасте. Держись! Не сдавайся!

person Jeremy Johnson    schedule 07.08.2013
comment
@Smit Спасибо за редактирование. Не могу поверить, что я не включил дополнительный - person Jeremy Johnson; 08.08.2013

Используйте значок изображения.

ImageIcon icon = new ImageIcon( pathToIcon );
yourFrame.setIconImage(icon.getImage());

Удачи!

person James Williams    schedule 07.08.2013

Вы можете сделать следующее.

    public Test {
   public static void main(String[] args) {
     JFrame frame = new JFrame("My Frame");
     frame.setIconImage(new ImageIcon(Test.class.getResource("image.png"));
     frame.setDefaultCloseOperation(JFrame.HIDE_ON_CLOSE);                                                  
     frame.setVisible(true);
     frame.setSize(100, 100);               

     //other stuffs....
   }  
}
person David Archanjo    schedule 07.08.2013