在java中如何加载一张图片?

在java中如何加载一张图片?

回答:

首先,更改此行:

image = ImageIO.read(getClass().getClassLoader().getResource("resources/icon.gif"));

对此:

image = ImageIO.read(getClass().getResource("/resources/icon.gif"));

可以在此线程上找到有关这两种方法之间的区别的更多信息 - 加载资源的不同方法

对于Eclipse:

  • 如何将图像添加到项目中的资源文件夹

对于NetBeans:

  • 在Java GUI应用程序中处理图像
  • 如何将图像添加到项目

对于IntelliJ IDEA:

  • 右键单击项目的src文件夹。选择新建->包
  • 在“ 新建软件包对话框”下,键入软件包的名称,例如resources。点击确定
  • 右键单击资源包。选择新建->包
  • 在“ 新建软件包对话框”下,键入软件包的名称,例如images。点击确定
  • 现在,选择要添加到项目中的图像,将其复制。右键单击resources.images包,里面的IDE,并选择粘贴
  • 使用最后一个链接检查现在如何以Java代码访问此文件。虽然对于此示例,将使用

getClass().getResource("/resources/images/myImage.imageExtension");

  • Shift+ F10制作并运行项目。在资源和图像文件夹,将里面自动生成出来的文件夹。

如果你手动进行操作:

  • 如何将图像添加到你的项目
  • 如何使用图标
  • 对此答案的第一个代码示例给出了一些额外的说明。

快速参考代码示例(尽管需要更多详细信息,但需要一些额外的说明链接):

package swingtest;

import java.awt.*;

import java.awt.image.BufferedImage;

import java.io.IOException;

import javax.imageio.ImageIO;

import javax.swing.*;

/**

* Created with IntelliJ IDEA.

* User: Gagandeep Bali

* Date: 7/1/14

* Time: 9:44 AM

* To change this template use File | Settings | File Templates.

*/

public class ImageExample {

private MyPanel contentPane;

private void displayGUI() {

JFrame frame = new JFrame("Image Example");

frame.setDefaultCloseOperation(JFrame.DISPOSE_ON_CLOSE);

contentPane = new MyPanel();

frame.setContentPane(contentPane);

frame.pack();

frame.setLocationByPlatform(true);

frame.setVisible(true);

}

private class MyPanel extends JPanel {

private BufferedImage image;

public MyPanel() {

try {

image = ImageIO.read(MyPanel.class.getResource("/resources/images/planetbackground.jpg"));

} catch (IOException ioe) {

ioe.printStackTrace();

}

}

@Override

public Dimension getPreferredSize() {

return image == null ? new Dimension(400, 300): new Dimension(image.getWidth(), image.getHeight());

}

@Override

protected void paintComponent(Graphics g) {

super.paintComponent(g);

g.drawImage(image, 0, 0, this);

}

}

public static void main(String[] args) {

Runnable runnable = new Runnable() {

@Override

public void run() {

new ImageExample().displayGUI();

}

};

EventQueue.invokeLater(runnable);

}

}

以上是 在java中如何加载一张图片? 的全部内容, 来源链接: utcz.com/qa/434448.html

回到顶部