为什么这段代码给我错误“无法将imageicon转换为int”?

时间:2018-11-20 21:29:38

标签: java swing compiler-errors imageicon

我在向消息屏幕添加图片时遇到问题。如果我不在框内使用文本字段,则该代码有效,但也可以在没有文本的情况下使用文本字段……我真的不明白为什么会出现此错误:

  

不兼容的类型:ImageIcon无法转换为int

这是我的代码:

import javax.swing.JOptionPane; 
import javax.swing.JTextField; 
import javax.swing.ImageIcon;

public class Input{    

    public static String[] geefInputNamen(){    
        JTextField veld1 = new JTextField(); 
        JTextField veld2 = new JTextField();

        Object[] velden = {  
            "Speler 1:", veld1,
            "Speler 2:", veld2
        };

        ImageIcon icon = new ImageIcon("nbalivemobile.png");

        JOptionPane.showConfirmDialog(null, velden, "Spelers vergelijken", 
                                   JOptionPane.OK_CANCEL_OPTION, icon);


        String[] namen = new String[2];

        namen[0] = veld1.getText(); 
        namen[1] = veld2.getText();

        return namen;
    }   
}

我是新来的,所以我希望这是正确的。 :)

2 个答案:

答案 0 :(得分:2)

在对JOptionPane.showConfirmDialog的调用中缺少一个参数,messageType是一个int,位于optionType和icon之间。请参阅JOptionPane.showConfirmDialog

的文档

答案 1 :(得分:2)

如果要将3276 3276 3276 1 No such process at ... 传递给Icon,则需要use the 6 argument overload

showConfirmDialog

在此示例中,我使用了JOptionPane.showConfirmDialog( null, velden, "Spelers vergelijken", JOptionPane.OK_CANCEL_OPTION, JOptionPane.PLAIN_MESSAGE, // Add this argument icon); ,但是您可以使用PLAIN_MESSAGEERROR_MESSAGEINFORMATION_MESSAGEWARNING_MESSAGE或{{ 1}},如API文档中所述。