gpt4 book ai didi

java - 图像不会出现在 JFrame 上

转载 作者:行者123 更新时间:2023-11-30 10:45:31 24 4
gpt4 key购买 nike

这是我的代码:

    import java.awt.BorderLayout;
import javax.swing.ImageIcon;
import javax.swing.JFrame;
import javax.swing.JLabel;

public class SenzuView extends JFrame {
JLabel label;
public SenzuView(){
ImageIcon image = new ImageIcon("C:\\senzu.jpg");
label = new JLabel("", image, JLabel.CENTER);
this.add(label);
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
setLocationRelativeTo(null);
setExtendedState(JFrame.MAXIMIZED_BOTH);
this.setVisible(true);
}
public static void main(String[] args) {
new SenzuView();
}
}

问题是框架打开但它是空的并且图像从未出现提前致谢

最佳答案

我建议您使用 getClass.getResource,因为如果您稍后想将项目编译成 .jar 文件,图像将随项目一起提供,否则如果您继续,它们将不会出现使用您最初开始的解决方案路径。

  • 在您的主类所在的包内创建一个文件夹。最好称为“res”
  • 将您的图片移至该包。
  • 像这样初始化图像图标:

    ImageIcon image = new ImageIcon(getClass().getResource("res/senzu.jpg"))
  • 以下是我建议您应该如何对 SenzuView 进行编码的示例:

    public SenzuView(){
    setLayout(new BorderLayout());
    ImageIcon image = new ImageIcon(getClass().getResource("res/senzu.jpg"));
    label = new JLabel(image);
    this.add(label, BorderLayout.CENTER);
    setDefaultCloseOperation(WindowConstants.EXIT_ON_CLOSE);
    setLocationRelativeTo(null);
    setExtendedState(JFrame.MAXIMIZED_BOTH);
    setVisible(true)
    }

我希望这能解决问题并给您一些其他有用的提示。

关于java - 图像不会出现在 JFrame 上,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36942767/

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