Java JOptionPane.showMessageDialog自定义图标问题?

7 java message dialog image popup

所以我的应用程序中有一个弹出对话框,告诉用户该程序.一切都很顺利,直到自定义图标.这是我尝试过的:

尝试1:

JOptionPane.showMessageDialog(dialog, "Blah blah blah", "About", JOptionPane.INFORMATION_MESSAGE, new ImageIcon("home/user/Pictures/default.jpg"));
Run Code Online (Sandbox Code Playgroud)

尝试2:

final icon = new ImageIcon("home/user/Pictures/default.jpg"));

    JOptionPane.showMessageDialog(dialog, "Blah blah blah", "About", JOptionPane.INFORMATION_MESSAGE, icon);
Run Code Online (Sandbox Code Playgroud)

尝试3:

final icon = new ImageIcon("home/user/Pictures/default.jpg"));
showMessageDialog(dialog, "Blah blah blah", "About", JOptionPane.INFORMATION_MESSAGE, icon);
Run Code Online (Sandbox Code Playgroud)

尝试4:

(尖叫着java)

尝试5:

使用URL


所有这些都没有影响程序,而不是图像,我没有得到任何东西.


细节:

  • 没有例外
  • 文件路径存在
  • 我的IDE不会返回异常,也不会返回任何类型的警告
  • 是的,我已经尝试了路径/home/user/Pictures/default.jpg
  • .ico的,.png的,.jpg是行不通的.我现在对.gif不太确定.

帮我!:(

Joh*_*lak 9

这对我有用:

import javax.swing.*;

public class Test
{
    public static void main(String[] args)
    {
        final ImageIcon icon = new ImageIcon("C:\\Users\\John\\Desktop\\lol.jpg");
        JOptionPane.showMessageDialog(null, "Blah blah blah", "About", JOptionPane.INFORMATION_MESSAGE, icon);
    }
}
Run Code Online (Sandbox Code Playgroud)

以下是使用URL的变体:

import javax.swing.*;
import java.net.*;

public class TestIcon
{
    public static void main(String[] args) throws Exception
    {
        final ImageIcon icon = new ImageIcon(new URL("http://www.gravatar.com/avatar/a1ab0af4997654345d7a949877f8037e?s=128&d=identicon&r=PG"));
        JOptionPane.showMessageDialog(null, "Blah blah blah", "About", JOptionPane.INFORMATION_MESSAGE, icon);
    }
}
Run Code Online (Sandbox Code Playgroud)

  • @Andrew:包括我在内的几个人一直试图对他说一段时间,但他不会相信我们.这就是为什么我试图让他看到他的用户目录在哪里,但他似乎忽略了我的评论.这令人沮丧. (2认同)