2011-01-25 14 views
4

JOptionPane.showConfirmDialogを使用してJavaで確認ダイアログを表示しています。このダイアログには、ユーザーに「はいいいえ」の確認が表示されます。Java JOptionPane.showConfirmDialogホットキー

int result = JOptionPane.showConfirmDialog(sessionObjects.getActiveComponent(), 
       "Are you sure you want to exit?", "My App", JOptionPane.YES_NO_OPTION); 

質問は、これは単純な確認であるようであることができ、ユーザのプレスはいためのyなしのためN:これは以下のように呼ばれているのですか?現在、ユーザーはボタンをクリックする必要がありますか?

おかげで、

Andez

答えて

2

あなたはすでにボタンの "ホットキー"(ニーモニック)を持っている:いいえ」のための "はい" のAltキー + YAltキー + Nを"

また、プレスへとスペースを切り替えるには、タブを打つことができます。

+0

ありがとうございます。私は今のところこれで生きることができると思う。 – Andez

2

いいえ、それを実行できる独自のJDialogを作成することはできます。

+0

私はそうしなければならないと思った。私は、ドッグベーンとして提案されているAlt + Yを使うと今は十分だと思います。 – Andez

+0

@Andezはい、ドッグベーンのソリューションは正常に動作するはずですが、yまたはnだけを使用する必要がある場合は、ダイアログをカスタマイズする必要があります。 – jzd

6

別の単純な可能性があります:あなたがプログラムにALTを押した後、同じようにそれを解放することができます:あなたが呼び出して

public static void pressAlt(){ 
    try { 
     Robot r = new Robot(); 
     r.keyPress(KeyEvent.VK_ALT); 
    } catch (AWTException ex) { 
     Logger.getLogger(ManualDetection.class.getName()).log(Level.SEVERE, null, ex); 
    } 
} 

public static void releaseAlt(){ 
    try { 
     Robot r = new Robot(); 
     r.keyRelease(KeyEvent.VK_ALT); 
    } catch (AWTException ex) { 
     Logger.getLogger(ManualDetection.class.getName()).log(Level.SEVERE, null, ex); 
    } 
} 

pressAlt(); 
int confirm = JOptionPane.showConfirmDialog(... bla bla bla ... 
                ,JOptionPane.YES_NO_OPTION); 
releaseAlt(); 

行動がありますあなたと同じ、まったく同じ...

関連する問題