gpt4 book ai didi

java - 如何在 Netbeans 的 JOptionPane 中显示图像

转载 作者:行者123 更新时间:2023-11-29 03:45:14 25 4
gpt4 key购买 nike

我在 JGrasp 中用来显示图像的代码在 Netbeans 中不起作用

我在JGrasp中使用的代码是

final ImageIcon icon1 = new ImageIcon("image/money.gif");
JOptionPane.showMessageDialog(null, " blah blah", "Text",
JOptionPane.INFORMATION_MESSAGE, icon1);

如果我想在 JOptionPane.showInputDialog 中显示图像,它是否与 JOptionPane.showMessageDialog 相同?

非常感谢任何帮助!

编辑:我不认为位置是问题,因为当我这样做时

menuPic = new javax.swing.JButton();
menuPic.setIcon(new javax.swing.ImageIcon(
getClass().getResource("image/money.gif")));

它可以很好地显示图像,但是当我尝试将图像添加到我的 JOptionPane 时,它没有显示任何内容。

最佳答案

这与您的 previous question 中的问题完全相同,但现在反过来了。关键是图像文件位于何处。这样做的关键是,您现在将图像作为 文件 获取,而之前您将其作为资源 获取,而 Java 在两个不同的地方寻找它们。

现在文件必须位于用户目录之外的图像子目录中。您可以通过调用

获取用户目录
System.out.println(System.getProperty("user.dir"));

获得用户目录后,向其中添加“/image/money.gif”,这就是图像文件的路径(同样,不是资源就像你在前面的例子中所做的那样)。

编辑
关于您的评论:

I don't think that the location is the problem because when i do this

menuPic = new javax.swing.JButton(); menuPic.setIcon(new javax.swing.ImageIcon(getClass().getResource("image/money.gif")));

It shows the image fine, but when i try to add an image to my joptionpane it doesn't show anything

当然——这就是我一直想说的。在第二个实例中,您将图像作为资源而不是文件获取,这使得 Java 在何处查找 jpg 文件产生了巨大差异。

如果您在 JOptionPane 中寻找图像作为资源,那么它将正常工作,因为您知道 jpg 资源的位置。即,这可能会起作用:

// final ImageIcon icon1 = new ImageIcon("image/money.gif");
final ImageIcon icon1 = new javax.swing.ImageIcon(getClass().getResource("image/money.gif"))
JOptionPane.showMessageDialog(null, " blah blah", "Text",
JOptionPane.INFORMATION_MESSAGE, icon1);

但是,如果您想以文件的形式找到您的图像——有时这是必要的,首先您必须按照我上面的建议找到 user.dir。

关于java - 如何在 Netbeans 的 JOptionPane 中显示图像,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11279790/

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