繁体   English   中英

自定义图标 JOptionPane.showInputDialog

[英]Custom icon JOptionPane.showInputDialog

我正在尝试将自定义图标放在JOptionPane.showMessageDialog但出现错误

public static String input (String message)
{
    ImageIcon icon = new ImageIcon("alien.jpg");
    String text = message;
    return JOptionPane.showInputDialog(null,text,"Alien Pet Game",JOptionPane.INFORMATION_MESSAGE,icon,null,"");
}

这是我的错误:

error: incompatible types: Object cannot be converted to String return JOptionPane.showInputDialog(null,text,"Alien Pet Game",JOptionPane.INFORMATION_MESSAGE,icon,null,"");

我该怎么办?

编辑:您可以选择将对象转换为字符串。

1- 检查您的消息是否不为空并将返回语句转换为字符串。

2-您可以调用 toString()

3-String.valueOf() - 您将避免 toString() 的空异常问题。

在这里参考上面的项目:( Java:JTable 更改侦听器,“对象无法转换为字符串”错误

  return (String) JOptionPane.showInputDialog(null,text,"Alien Pet Game",JOptionPane.INFORMATION_MESSAGE,icon,null,"");    

编辑方法:

   public static void main(String[] args) {
       input("Hi");
   }


   public static String input(String message){

        ImageIcon icon = new ImageIcon("alien.jpg");
        String text = message;
        if(text != null)
       return (String) JOptionPane.showInputDialog(null,text,"Alien Pet Game",JOptionPane.INFORMATION_MESSAGE,icon,null,"");

        /* else 
            return Alternative*/
            return null;
   }

您的方法将字符串变量作为参数,并且您尝试返回 JOptionPane 对象,只需将该对象存储在字符串变量中

String s = JOptionPane.showInputDialog(message));

并返回该变量 's'

您对图标的使用(可能)没有任何问题。 该错误指的是 showInputDialog 的返回值,它是一个对象,您正在调用一个字符串。 您需要做的就是将您的返回值转换为 String:

return (String) JOptionPane.showInputDialog(null,text,"Alien Pet Game",JOptionPane.INFORMATION_MESSAGE,icon,null,"");

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM