2016-05-02 27 views
0

入力ダイアログボックスから入力を文字列として取り込み、ユーザがキャンセルボタンを押した場合の状況を処理したい。文字列を入力として受け取るJOptionPaneキャンセルボタンの処理

提案がありますか?

+2

は 'JOptionPane.showInputDialog'を参照してください。 https://docs.oracle.com/javase/7/docs/api/javax/swing/JOptionPane.html#showInputDialog(java.awt.Component,%20java.lang.Object)。ユーザが「キャンセル」を選択した場合は、「null」が返されます。 – Berger

+0

@Bergerそのコメントを回答にア​​ップグレードするのはどうですか? –

+0

なぜSOコミュニティでも、そのような質問に答えようとしています。これらのタイプの質問は何百万回も依頼され、まだ回答が得られています。 –

答えて

2

showInputDialogメソッドを使用することができます。

の場合、キャンセルの場合、戻り値はnullです。

また、@ mKorbelがコメントで述べたように、ウィンドウが直接閉じられている場合は、nullも得られることに注意してください。

String result = JOptionPane.showInputDialog("Please enter something"); 

if(result == null){ 


    System.out.println("User pressed CANCEL, or window has been closed"); 
} 
else{ 

    // do something with the String 
} 
+0

ありがとう...それは私のために働いた:) –

+0

'result!= null'のため、' JOptionPane'にAPIで実装されたすべての 'windows events'があります(閉じる、エスケープキーからイベント.....) – mKorbel

+0

@ mKorbel:そうですが、少なくとも「OK」ボタンが選択されていないことを意味する「ヌル」を取得することに同意しますか? – Berger

1

これを試してみてください:

if(result == null){ 
    System.out.println("User pressed CANCEL, or window has been closed"); 
    System.exit(0); 
} 
関連する問題