netbeans中的Java,从Java包中读取镜像文件



我想知道是否有人可以帮助?我一直在开发一个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");

显然,如果应用程序在任何其他设备上运行,这将完全崩溃。谁能给我一个提示,使这个代码可移植?

thanks very much

因为它是一个JFrame你试图添加一个图像,它可能是更好的使用ImageIcon而不是Image

试试这个:

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

这应该使应用程序可移植,以及如果你包括你的images文件夹随着你的项目。

相关内容

  • 没有找到相关文章

最新更新