ImageIcon无法更改默认的JOptionPane图标

时间:2018-03-22 08:04:14

标签: java swing joptionpane imageicon

我最近在添加图标时出错,我想用图片替换默认的JOptionPane图标,但我无法更改默认图标

这是代码

import javax.swing.*;
public class JOptionPaneIcon
{
    public static void main (String []args)
    {
    String c;
    Double z,Dollars;
    try
    {
        ImageIcon icon = new ImageIcon("convert-units.jpg");
        c = JOptionPane.showInputDialog(null,"Insert  the amount of mexican pesos",icon);
        z = Double.parseDouble (c);//se captura la cantidad de kilos 
        Dollars= z /18.42 ; //la cantidad de kilos se multiplican por mil para hacerlos gramos 
        JOptionPane.showMessageDialog(null,"You got: " + Dollars + " dollars");
    }
    catch (Exception e)
    {
        JOptionPane.showMessageDialog (null,"Program got an error","Error", JOptionPane.ERROR_MESSAGE);
    }
   } 
}

1 个答案:

答案 0 :(得分:3)

您需要阅读JavaDocs for JOptionPane.showInputDialog(Component, Object, Object)并了解每个参数的实际含义

我想你想做更像......的事情。

JOptionPane.showInputDialog(null, "Insert  the amount of mexican pesos", null, JOptionPane.INFORMATION_MESSAGE, icon, null, null);

对我而言,产生

Icon

您可能还会发现ImageIcon未加载图片。 ImageIcon(String)期望指定的映像位于文件系统(在您的情况下)位于工作目录中。所以你可能想检查一下。

就个人而言,我建议使用ImageIO.read,因为如果由于某种原因无法加载图片,它会生成IOException,而不是默默地失败

有关详细信息,请参阅Reading/Loading an Image