0
私は、JOptionPane /ダイアログボックスを使用して連絡先を配列リストに挿入する学校向けのプログラムを作成しています。メソッドの特定のポイントでコードを停止する
私が抱えている問題は、キャンセルボタンと「X」ボタンがあることです。ユーザーが押すと、プログラムがクラッシュします。
私は方法を止めることができました。最初のダイアログボックスでは機能しましたが、情報が入力されて次のダイアログボックスに進むと、リターンを再度使用していてもクラッシュします。
基本的に私がしたいのは、キャンセルまたは "X"を押して現在のメソッドをエスケープし、クラッシュせずに他のプロセスを実行するメインメソッドに戻る場合です。
このコードは、最初のエントリのために働き、プログラムを正常に終了します。
while(nameError)
{
surname = JOptionPane.showInputDialog(null, "Enter a Surname");
if(surname == null)
{
return;
}
else
{
if(!(surname.matches(NamesTest)))
{
JOptionPane.showMessageDialog(null,errorMsg);
}
else nameError = false;
temp[0] = surname;
}
}
が、2番目のダイアログボックスdoesntのためのメソッドのコードの次の行:
while(nameError1)
{
if(forename == null)
{
return;
}
else
{
forename = JOptionPane.showInputDialog(null, "Enter a Forename");
if(!(forename.matches(NamesTest)))
{
JOptionPane.showMessageDialog(null,errorMsg);
}
else nameError1 = false;
temp[1] = forename;
}
}
おそらく理由を説明できますか? –