• category: swing folder: DefaultButton title: DefaultButtonの設定 tags: [JRootPane, JButton, JTextField, Focus] author: aterai pubdate: 2008-05-12T14:39:12+09:00 description: 自身の親となるJRootPaneを取得し、これにEnterキー入力で起動するデフォルトのJButtonを設定します。 image: https://lh5.googleusercontent.com/_9Z4BYR88imo/TQTKiSOjSTI/AAAAAAAAAWI/e462LXNNrYU/s800/DefaultButton.png

概要

自身の親となるJRootPaneを取得し、これにEnterキー入力で起動するデフォルトのJButtonを設定します。

サンプルコード

button1.getRootPane().setDefaultButton(button1);
View in GitHub: Java, Kotlin

解説

上記のサンプルでは、JRootPane#setDefaultButton()メソッドを使用して、デフォルトボタンを切り替えています。

  • フォーカスが設定したデフォルトボタンにない場合でも、Enterキーを押したときに起動する
    • ただし、ルート区画内にJTextPaneやフォーカスのあるJButtonなどの起動イベントを消費する別のコンポーネントがある場合は除く
      • JTextField内にフォーカスがある場合は、Enterキーを押したときに起動する
      • JTextArea内にフォーカスがある場合は、Enterキーを押しても起動しない(改行が入力される)
  • デフォルトボタンの設定を削除する場合は、JRootPane#setDefaultButton(null)を使用する

参考リンク

コメント