gpt4 book ai didi

java - ImagePanel 未显示在我的带有 netbeans 的 jar 文件中

转载 作者:太空宇宙 更新时间:2023-11-04 06:49:58 25 4
gpt4 key购买 nike

我使用类 Imagepanel 在 netbeans 中向我的面板显示背景图像。从 IDE netbeans 6.8 运行它时它成功工作,但是当我从 jar 文件运行它时它不显示图像。请帮助我解决这个问题。感谢您的评论。这是我的代码 ImagePanel.java

  import java.awt.Dimension;
import java.awt.Graphics;
import java.awt.Image;
import javax.swing.ImageIcon;
import javax.swing.JPanel;



class ImagePanel extends JPanel {

private Image img;

public ImagePanel(String img ) {


this(new ImageIcon(img).getImage());


}

public ImagePanel(Image img) {
this.img = img;
Dimension size = new Dimension(img.getWidth(null), img.getHeight(null));
setPreferredSize(this.getMaximumSize());
setMinimumSize(size);
setMaximumSize(size);
setSize(this.getMaximumSize());
setLayout(null);
}

@Override
public void paintComponent(Graphics g) {
g.drawImage(img, 0, 0, null);
}

}

我已经创建了我的面板,它位于另一个类似的类中,其中我的图像位于 src 下的图像目录中。提前致谢。

ImagePanel pan2 = new ImagePanel("src/images/tarif.png");

最佳答案

 import java.awt.*;
import javax.swing.*;

class BackgroundPanel extends JPanel
{
Image image;
public BackgroundPanel(String path)
{
try
{
image = (new ImageIcon(getClass().getResource(path))).getImage();
}
catch(Exception e){/*handled in paintComponent()*/}
}
@Override
public void paintComponent(Graphics g)
{
super.paintComponent(g);
g.drawImage(image, 0, 0, this);
}
}

这段代码有效,我这样调用该类

String path ="/images/tarif.png";
JPanel pan2=new BackgroundPanel(path);

关于java - ImagePanel 未显示在我的带有 netbeans 的 jar 文件中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23449784/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com