質問

これは、JOptionPaneのダイアログのボタンにホットキーやニーモニックを割り当てることは可能ですか?私は[いいえ]ボタンヒットしないように、Nをはい]ボタンを押すと、エスケープボタンをアクティブにするためにエスケープするYキーを押し、オプションはい、いいえでのJOptionPane生成されたメッセージダイアログで、できることや、キャンセルしたいと思います。同様にオーケーとキャンセルボタンが付いたダイアログで、私はそれらを有効に入り、脱出できるようにしたいと思います。

私はニーモニックでのJOptionPaneのボタンオブジェクト配列にJButtonがを渡ししようとしましたが、すでに設定してください。ニーモニックの仕事やボタンは、それらが活性化されるとしかし、彼らは適切に機能していない、ダイアログで正しく表示されます。最も著しく、彼らはダイアログを処分しないでください。

のJOptionPaneのダイアログのボタンにホットキーやニーモニックを追加するための正しい方法は何ですか?

役に立ちましたか?

解決

あなたは、どのコンポーネントがJOptionPaneあり、そしてかどうかをチェックするペイン(子供など)のコンポーネントを介し、ループをあなたのinstanceof JButtonを作成し、することができますので、テキストをチェックして、適切なニーモニックを設定します。

JOptionPane p = new JOptionPane();
Component[] c = p.getComponents();

他のヒント

次のように

というUIManagerの使用を確認します:

UIManager.put("OptionPane.okButtonMnemonic", "79");  // for Setting 'O' as mnemonic
UIManager.put("OptionPane.cancelButtonMnemonic", "67"); // for Setting 'C' as mnemonic

の代わりに文字列のパラメータとしてのボタンを送信

    JButton button1 = new JButton( "<html>" + nextQuestion1 + "</html>");
    button1.setMnemonic('a');
    JButton button2 = new JButton(nextQuestion2 + "VUHU");
    JButton button3 = new JButton(abort);
    Object[] possibleValues = new Object[]{button1,button2,button3};
    int selectedValue = showOptionDialog(owner, question, possibleValues);
ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top