簡體   English   中英

netbeans中的Java,從Java包中讀取圖像文件

[英]Java in netbeans, read image file from java package

我想知道有人能幫忙嗎? 我一直在開發一個Java應用程序,該應用程序在jframe上顯示磁盤上的圖像。 使用netbeans,我在項目中創建了一個名為images的java程序包,並將圖像存儲在該程序包中。 首先是如果我希望他們隨應用程序一起提供時該怎么做?

我具有以下功能來讀取圖像:

Image readImg(String file)
    {
        Image image = null;
        try {
            File imgFile = new File(file);
            image = ImageIO.read(imgFile);

        } catch (IOException e) {
            // System.out.println("Can not Display Image");
            e.printStackTrace();
        }
        if (image != null){       
        return image;
    } else{
        return null;
        }
    }

我的問題來了,我無法計算出要傳遞給函數的相對文件路徑。 我已經顯示出要調用的圖像,如下所示:

Image headerImg = readImg("C:\\Users\\D@nb0y\\Documents\\NetBeansProjects\\GiftAidApp\\src\\images\\galogo.png");

顯然,如果該應用程序在任何其他設備上運行,這將完全消失。 任何人都可以提請我注意使此代碼可移植嗎?

非常感謝

由於您正在嘗試將圖像添加到JFrame中,因此最好使用ImageIcon代替Image

嘗試這個:

ImageIcon image = new ImageIcon("images/galogo.png");
JLabel imageLabel = new JLabel(image);
frame.add(imageLabel);

如果您在項目中包含images文件夾,這也應該使該應用程序具有可移植性。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM