Почему этот код выдает ошибку «imageicon не может быть преобразован в int»? - PullRequest
0 голосов
/ 21 ноября 2018

У меня проблема с добавлением изображения на экран сообщений.Код работает, если я не использую текстовые поля в своем блоке, но он также работал с текстовыми полями и без изображения ... Я действительно не понимаю, почему я получаю эту ошибку:

несовместимые типы: 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 голосов
/ 21 ноября 2018

Если вы хотите передать Icon в showConfirmDialog, вам нужно использовать перегрузку с 6 аргументами :

JOptionPane.showConfirmDialog(
    null,
    velden,
    "Spelers vergelijken",
    JOptionPane.OK_CANCEL_OPTION,
    JOptionPane.PLAIN_MESSAGE, // Add this argument
    icon);

Я использовал PLAIN_MESSAGE в этомнапример, но вы можете использовать любой из ERROR_MESSAGE, INFORMATION_MESSAGE, WARNING_MESSAGE, QUESTION_MESSAGE или PLAIN_MESSAGE, как указано в документации API.

0 голосов
/ 21 ноября 2018

В вашем вызове отсутствует параметр JOptionPane.showConfirmDialog, messageType, который является целым числом и идет между optionType и значком.См. Документ для JOptionPane.showConfirmDialog

...