为什么确认对话框不起作用?我花了很长时间试图弄清楚这一点。我得到以下错误:JOptionPane确认对话框
PokemonDemo.java:40: error: incompatible types: int cannot be converted to String response = JOptionPane.showConfirmDialog(null, "You are a " + intro.getGender() + ". Is that correct?", JOptionPane.YES_NO_OPTION, response);
我试图改变响应字符串(是的,我用.equals()方法时,我这样做),但没有任何反应。即使程序中没有int,我仍然会得到错误。请让我知道,如果你需要我的对象的代码,但我不明白为什么它需要在这种情况下。
public static void main(String [] args)
{
String holder;
int response;
Pokemon intro = new Pokemon();
JOptionPane.showMessageDialog(null, "Hello there!");
JOptionPane.showMessageDialog(null, "Glad to meet you!");
JOptionPane.showMessageDialog(null, "Welcome to the world of Pokémon. My name is Oak.");
JOptionPane.showMessageDialog(null, "People affectionately refer to me as the Pokémon Professor.");
JOptionPane.showMessageDialog(null, "For some people, Pokémon are pets. Others use them for battling.");
JOptionPane.showMessageDialog(null, "As for myself... I study Pokémon as a profession.");
JOptionPane.showMessageDialog(null, "But first tell me a little bit about yourself...");
do
{
do
{
holder = JOptionPane.showInputDialog("Now tell me, are you a boy, or are you a girl?");
intro.setGender(holder);
}while(!(intro.getGender().equals("Boy") || intro.getGender().equals("boy") || intro.getGender().equals("BOY") || intro.getGender().equals("Girl") || intro.getGender().equals("girl") || intro.getGender().equals("GIRL")));
if(intro.getGender().equals("Boy") || intro.getGender().equals("boy") || intro.getGender().equals("BOY"))
{
holder = "boy";
intro.setGender(holder);
}
else if(intro.getGender().equals("Girl") || intro.getGender().equals("girl") || intro.getGender().equals("GIRL"))
{
holder = "girl";
intro.setGender(holder);
}
response = JOptionPane.showConfirmDialog(null, "You are a " + intro.getGender() + ". Is that correct?", JOptionPane.YES_NO_OPTION, response);
if(response == JOptionPane.NO_OPTION)
{
intro.setConfirmationOne("no");
}
else if(response == JOptionPane.YES_OPTION)
{
intro.setConfirmationOne("yes");
}
}while(intro.getConfirmationOne().equals("No") ||* intro.getConfirmationOne().equals("no") || intro.getConfirmationOne().equals("NO"));
'response'已经是一个int –
见大通Henslee答案,你的方法不符合JOptionPane的方法。你应该看到类似这样的东西:类型JOptionPane中的方法showConfirmDialog(Component,Object,String,int)不适用于参数(null,String,int,int)' –