2010-11-26 2 views
0

以下は私のコードですJOptionPane.getValue()がuninitializedValueを引き続き返す理由

public static void main(String args[]){ 
    JOptionPane pane = new JOptionPane(); 
    pane.showInputDialog(null, "Question"); 
    Object value = value.getValue(); 
    System.out.println(value.toString()); --> this will print out uninitializedValue 

} 

私は基本的に、JOptionPaneでユーザーがキャンセルをクリックしたときと、ユーザーがJOptionPaneを閉じるときに検出したい

答えて

3

を閉じるときこれを実行する必要があります。これは、ウィンドウが閉じている場合null文字列を返すか、押されてキャンセルされます

String s = JOptionPane.showInputDialog(null, "Question"); 
    System.out.println(s); 

+0

はどうもありがとうございました。私は正しい答えとして彼の答えをマークするように、D 1 –

2

showInputDialogは静的メソッドであり、JOptionPaneは変更されません。ドッグベーンが指摘するように、戻り値showInputDialogを確認する必要があります。

コンパイラの中には、インスタンスで静的メソッドを呼び出すと警告が生成されるものがあるため、常にコンパイラの警告を確認してください。あなたのケースでは、このようにメソッドを呼び出します。

String result = JOptionPane.showInputDialog(null, "Question"); 
if(result == null){ 
//chancel pressed 
}else{ 
//normal code 
} 
+0

はまず、非常しかしdogbaneの答えをいただき、ありがとうございます。もう一度ありがとうございます+1 –

関連する問題