この単純なコードの作成がほとんど終了しましたが、入力ダイアログボックスをJOptionPaneから変数に変更するとエラーが発生します。Javaエラー、互換性のないタイプ:オブジェクトを文字列に変換できません
例えば:
name = JOptionPane.showInputDialog(null, "What is your name?",
"Question",
JOptionPane.QUESTION_MESSAGE,
iconhello,
null,
"");
名前が前にある場合は、エラーがないことはないと私のコードがスムーズに実行したとき、私は、エラーを取得するが、私はメッセージに入力を返す必要があります私のコードで後で作成するダイアログ。
これは完全なコードです:
public static void main(String[] args) {
String name, choice, choice2, choice3, order;
ImageIcon iconhello;//identifying the new icon created
iconhello = new ImageIcon("hello.gif");
ImageIcon iconcat1;
iconcat1 = new ImageIcon("cat1.gif");
ImageIcon iconcat7;
iconcat7 = new ImageIcon("cat7.gif");
ImageIcon icondrink;
icondrink = new ImageIcon("drink.gif");
ImageIcon iconpizza;
iconpizza = new ImageIcon("pizza.gif");
name = JOptionPane.showInputDialog(null, "What is your name?",
"Question",
JOptionPane.QUESTION_MESSAGE,
iconhello,
null,
"");
Object[] possibilities= {"Chicken Sub", "Chicken Teriyaki Sub", "Tuna "
+ "Sub", "Vegetable Sub"};//creating options for user to choose from
choice= (String)JOptionPane.showInputDialog(null, "What type of"
+ " subsandwich do you like? \n \"I like...\"",
"Subsandwich",
JOptionPane.QUESTION_MESSAGE,
iconpizza,
possibilities,
"Chicken Sub");
Object[] possibilities1= {"Sprite", "Coke", "7Up", "Pepsi"};
choice2= (String)JOptionPane.showInputDialog(null, "What type of"
+ " drink do you prefer to have? \n \"I prefer..\"",
"Drink",
JOptionPane.QUESTION_MESSAGE,
icondrink,
possibilities1,
"Sprite");
JOptionPane.showInputDialog(null, "Please state what you would like"
+ " to have additionally",
"Additional Request",
JOptionPane.INFORMATION_MESSAGE,
iconcat1,
null,
"");
order= String.format("Your order: \n " + choice + " \n" + choice2 +
" \n Please enjoy!",
"Order for: " + name + " " ,
JOptionPane.PLAIN_MESSAGE,
iconcat7,
null);
JOptionPane.showMessageDialog(null, order);
}
してください、あなたができるなら、私を助けて。
すべての文字列はオブジェクトであり、すべてのオブジェクトが文字列ではないため、問題があります。あなたはそれをキャストしようとする前に、コンパイラが文字列であることを知っている(そして何か他のものであってはならない)ようにコードを書く必要があります。 – Stultuske