2013-03-20 2 views
1

Итак, я новичок в Java, и это будет самый простой вопрос, который вы когда-либо увидите, но я не могу найти anser в Интернете.Eclipse ссылается на изображение

Я хочу установить значок моей программы, этот код работает: frame.setIconImage(Toolkit.getDefaultToolkit().getImage("MYPROBLEM"));

Но я не могу получить путь правильный в разделе MYPROBLEM. Это моя структура:

Projectname

-src

--default пакет

--- myfunctions

< --test ---- карта

--- icon.png

Всякий раз, когда я заменяю MYPROBLEM на src/test/icon.png, он работает. однако, когда я экспортирую свое приложение в jar, появляется значок Java по умолчанию. Замена MYPROBLEM чем-то вроде test/icon.png тоже не работает.

Я приношу пользу для своего английского языка. Потерпите меня, потому что я новичок;)

+0

Я думал, что такого рода ресурсы должны быть в папке ресурсов (не используйте затмение, но увидеть этот вопрос все время) – MadProgrammer

+0

'frame.setIconImage (Toolkit.getDefaultToolkit(). GetImage ("MYPROBLEM.png"));' –

+0

.png часть не проблема. и я не знаю, где создать папку ресурсов. по умолчанию нет. – jipje44

ответ

1

Это загрузит изображение из пути к классам.

Image image = new ImageIcon(this.getClass().getResource("MYPROBLEM")).getImage(); 
frame.setIconImage(image); 
+0

разместил значок.png в папке src. getImage ("icon.png") не работает. – jipje44

+0

Вот обновленная версия. – clav

+0

Удивительно! Большое спасибо! – jipje44

0

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

import java.awt.Dimension; 
import java.awt.Image; 

import java.awt.Toolkit; 

import javax.swing.JFrame; 

import java.awt.Toolkit; 

import javax.swing.JFrame; 

public class JFrameIcon { 

    public static void main(String[] args) { 

     JFrame frame = new JFrame(); 

     frame.setSize(300, 150); 

     frame.setTitle("tutorialData.com"); 

     frame.setResizable(false); 

     frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); 

     frame.setAlwaysOnTop(true); 

     frame.setIconImage(Toolkit.getDefaultToolkit().getImage("C:\\Users\\Sirnurpc\\Desktop\\icon.png")); 

     frame.setVisible(true); 

    } 

} 

ссылка seticon

В вашем случае, если вы используете Netbeans, то место будет

C: \ Users \ yourloginname \ Documents \ NetBeansProjects \ yourproject \ ImageName. PNG

И Eclipse, который я предполагаю, что вы используете будет что-то вроде этого

C: \ Users \ yourlogingname \ рабочей \ yourproject \ imagename.png

+0

Это не то, что я ищу. .jar также будет распространен на другие компьютеры. поэтому «статический» путь не будет работать. – jipje44

+0

Вы используете пакет по умолчанию? –

+0

Я использую eclipse. Я не знаю, что означает пакет по умолчанию, но его небольшой проект, и я не добавил ничего странного в него. я просто выбрал стандартный проект Java. – jipje44

Смежные вопросы