• 追加された行はこの色です。
  • 削除された行はこの色です。
TITLE:DefaultButtonの設定
#navi(../)
RIGHT:Posted by [[terai]] at 2008-05-12
*DefaultButtonの設定 [#ic3f1505]
DefaultButtonをJRootPaneに設定します。
---
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
---
* 概要 [#summary]
自身の親となる`JRootPane`を取得し、これにKBD{Enter}キー入力で起動するデフォルトの`JButton`を設定します。

-&jnlp;
-&jar;
-&zip;
#download(https://lh5.googleusercontent.com/_9Z4BYR88imo/TQTKiSOjSTI/AAAAAAAAAWI/e462LXNNrYU/s800/DefaultButton.png)

#screenshot

**サンプルコード [#lb7061a4]
#code{{
frame.getRootPane().setDefaultButton(b1);
* サンプルコード [#sourcecode]
#code(link){{
button1.getRootPane().setDefaultButton(button1);
}}

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

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

デフォルトボタンの設定を削除する場合は、nullを代入します。
* 参考リンク [#reference]
- [https://docs.oracle.com/javase/jp/8/docs/api/javax/swing/JRootPane.html#setDefaultButton-javax.swing.JButton- JRootPane#setDefaultButton(JButton) (Java Platform SE 8)]
- [[Windowを開いたときのフォーカスを指定>Swing/DefaultFocus]]
- [[DefaultButtonをフォーカスが存在するJButtonに設定する>Swing/DefaultButtonFollowsFocus]]

**参考リンク [#u64aef30]
-[[JRootPane#setDefaultButton(javax.swing.JButton)>http://java.sun.com/javase/ja/6/docs/ja/api/javax/swing/JRootPane.html#setDefaultButton(javax.swing.JButton)]]
-[[Windowを開いたときのフォーカスを指定>Swing/DefaultFocus]]

**コメント [#p1858d39]
* コメント [#comment]
#comment
#comment