爲什麼確認對話框不起作用?我花了很長時間試圖弄清楚這一點。我得到以下錯誤: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)' –