[英]How to change java icon in a JFrame
好的,所以我一直在研究這個安靜。 我對java很新,但認為這個很容易。 我已經嘗試了幾乎所有已經在這個網站上回答的方式,但仍然沒有運氣,通常當我看到這里時,我能夠找到適合我所尋找的答案。 有誰知道如何更改JFrame頂角的Java圖標。 我非常肯定它不是我的文件路徑,因為我的所有圖像都在同一個文件夾中並且它們都工作,這是我唯一無法工作的。
這是我的程序主菜單的代碼的第一部分,一切正常,除非我嘗試添加圖標圖像。 我在下面輸入的代碼中沒有任何內容用於JFrame IconImage,我將其刪除,因為它不起作用。 因此,如果有人知道如何使用這個代碼,我將非常感謝,非常感謝您提前!
public class MainFrame
{
private MyPanel main;
private MyPanel2 create;
private MyPanel3 update;
private MyPanel4 find;
JFrame frame = new JFrame("Main Menu:");
public void displayGUI()
{
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
JPanel contentPane = new JPanel();
contentPane.setBorder(BorderFactory.createEmptyBorder(0, 0, 0, 0));
contentPane.setLayout(new CardLayout());
main = new MyPanel(contentPane, this);
create = new MyPanel2(contentPane);
update = new MyPanel3(contentPane);
find = new MyPanel4(contentPane);
contentPane.add(main, "Main Menu");
contentPane.add(create, "Create Part");
contentPane.add(update, "Update Part");
contentPane.add(find, "Find Part");
frame.setLocation(200, 200);
frame.setSize(700, 580);
frame.setContentPane(contentPane);
frame.setVisible(true);
}
我有一個答案給你。 首先,確保圖像位於文件夾中,而不是包中。 接下來,插入以下代碼行:
Image image = Toolkit.getDefaultToolkit().getImage(getClass().getResource("path/to/image.png"));
ImageIcon icon = new ImageIcon( );
setIconImage(icon.getImage());
此代碼從類路徑獲取圖像,並將其作為圖像圖標返回,然后設置它。 這應該將圖像圖標添加到應用程序。 如果沒有,請告訴我。
編輯:在你告訴我那不起作用后,我決定再對它進行一次破解......首先,將你的圖像放入一個完全獨立的文件夾中。 我通常稱之為/ res。 接下來,將圖像放在那里。 現在,為了裝載我采取了完全不同的路線。 我決定使用ImageIO而不是默認加載。 要加載圖像,請使用以下代碼:
try {
frame.setIconImage(ImageIO.read(new File("res/icon.png")));
}
catch (IOException exc) {
exc.printStackTrace();
}
ImageIO
可以更好地加載圖像。 如果這仍然不起作用,那么請告訴我。
如果要將其導出為JAR,則將與您在程序中使用的名稱相同的文件夾放在與JAR相同的目錄中。
例如,在NetBeans項目中,在src文件夾中創建資源文件夾。
把你的圖像(jpg,...)放在那里。
無論您使用ImageIO
還是Toolkit
(包括getResource),都必須在圖像文件的路徑中包含一個前導/:
Image image = Toolkit.getDefaultToolkit().getImage(getClass().getResource("/resources/agfa_icon.jpg"));
setIconImage(image);
如果此代碼位於JFrame
類中,則圖像將作為標題欄中的圖標添加到框架中。
這對我來說非常好。 只需在創建JFrame后添加即可。
try {
Image image = new ImageIcon("/icons/image.jpg").getImage();
frame.setIconImage(image);
}catch(Exception e){
System.out.println("Application icon not found");
}
setIconImage(Toolkit.getDefaultToolkit()的getImage(的getClass()的getResource( “fav.png”)));
注意: - fav.png是圖標的名稱
this.setIconImage(new ImageIcon(getClass().getResource("/iconsfolder/iconsname.jpg")).getImage());
// sets the Global icon for the system
嘗試此代碼后放置此代碼:
public void displayGUI()
{
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.