gpt4 book ai didi

java - 无图像图标显示

转载 作者:行者123 更新时间:2023-12-01 13:50:50 25 4
gpt4 key购买 nike

我用Java构建了一个简单的界面,它说没有错误。但是它无法在按钮上显示 1ImageIcon1 (它只有按钮的名称。)。我该如何修复它?

这是代码。

public static void main(String[] args) {
JFrame frame=new JFrame("Hi everyone");
frame.setSize(500,400);
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

JPanel pane=new JPanel();

Font font=new Font(Font.SERIF, Font.BOLD,20);
JLabel label=new JLabel("How about a presidation quote");
label.setFont(font);
pane.add(label);


ImageIcon icon=new ImageIcon("ChenGao.jpg");
JButton ChenGao = new JButton("ChenGao",icon);
ChenGao.setHorizontalTextPosition(SwingConstants.CENTER);
ChenGao.setVerticalTextPosition(SwingConstants.BOTTOM);
pane.add(ChenGao);

JTextArea textArea= new JTextArea(10,40);
textArea.setText("Yes we can");
pane.add(textArea);

frame.setContentPane(pane);
frame.setVisible(true);

}

最佳答案

通常,(至少)有两种类型的“资源”需要讨论:外部资源和内部资源。

外部资源是驻留在应用程序上下文之外的资源,例如文件系统上的文件。内部资源是驻留在应用程序上下文中的资源。这些也称为嵌入式资源,因为它们存在于应用程序的类路径上下文中,通常位于一个或多个 Jar 文件中。

在这种情况下,您无法像普通文件一样访问它们,而是需要使用 Class#getResourceClass#getResourceAsInputStream,具体取决于您的需求。

根据您的评论,我建议您需要使用

ImageIcon icon = new ImageIcon(getClass().getResource("ChenGao.jpg"));

或者也许

ImageIcon icon = new ImageIcon(getClass().getResource("/ChenGao.jpg"));

取决于图像相对于尝试加载它的类的位置。

如果图像包含在源目录中的某个目录中,您可能还需要提供路径

由于如果由于某种原因加载失败,ImageIcon 不会提供任何有用的信息,因此通常最好使用 ImageIO 加载图像。如果出现问题,这至少会引发异常

查看Reading/Loading an Image了解更多详情。

关于java - 无图像图标显示,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19968769/

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