[英]How to place an Image in a Java Swing GUI
我是Swing的新手,只需要知道如何在GUI的主屏幕上放置图像即可。 我不希望它成为背景。 当我的讲师进行演示时,我认为他将其放置在JLabel中。 我将图像保存到笔记本电脑中,但是我需要将其导入到我正在Eclipse中工作的项目中吗? 如果是这样,最好将其保存在哪里? 谢谢。
将所有图像放入项目中与images
文件夹平行的src
文件夹中。
F:/>Kiosk
|
|___src
|
|__main1.java
|
|__images
|
|__c.jpg
|__d.jpg
|__e.jpg
|__f.jpg
使用此代码
ImageIO.read(new File("images\\c.jpg"));
ImageIO.read(new File("images\\d.jpg"));
你可以尝试任何一个
// Read from same package
ImageIO.read(getClass().getResourceAsStream("c.png"));
// Read from absolute path
ImageIO.read(new File("E:\\SOFTWARE\\TrainPIS\\res\\drawable\\c.png"));
// Read from images folder parallel to src in your project
ImageIO.read(new File("images\\c.jpg"));
以上所有方法均返回BufferedImage
。
怎么把
BufferedImage
转换成ImageIcon
?
BufferedImage image = ImageIO.read(new File("images\\c.jpg"));
ImageIcon icon = new ImageIcon(image);
JLabel label = new JLabel(icon);
在Eclipse项目中创建一个图像子目录,然后将图形复制到该文件夹。 然后,扩展JPanel,如下所示:
class MyImagePanel extends JPanel {
private ImageIcon imageIcon = new ImageIcon("image/myimage.gif");
private Image image = imageIcon.getImage();
protected void paintComponent(Graphics g) {
super.paintComponent(g);
if (image != null) g.drawImage(image,0,0,getWidth(),getHeight(),this);
}
}
从那里,您可以使用以下方法将此面板添加到主JFrame:
add(new MyImagePanel());
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.