[解決済み] SetFocusable メソッドまたは Focusing Components Java
質問
このコードに出会いました。
public class Board extends JPanel implements ActionListener{
public Board() {
setFocusable(true);
}
}
は具体的にどのようなものなのでしょうか?
setFocusable(true)
は、JPanel オブジェクトに何をするのですか?コンポーネントがフォーカスされるというのは、どのような概念ですか?
Java APIに基づき、このメソッドはJPanelのスーパークラスであるComponentクラスに配置されています。メソッドの説明では、 "このComponentのフォーカス可能な状態を指定された値に設定します。この値は、Componentのデフォルトのフォーカス可能性をオーバーライドします。時々、このメソッドの説明は、Javaの知識のレベルが異なるすべての人のために書かれているわけではないと思うことがあります。どなたか、このメソッドの説明を平易な言葉で説明していただけませんか?
どのように解決するのですか?
その
focusable
フラグは、コンポーネントがフォーカスを得るように要求された場合に、そのフォーカスを得ることができるかどうかを示します。JPanelコンポーネントはデフォルトでフォーカス可能なので、これを
true
.
フォーカス可能でないコンポーネントはフォーカスを得ることができません。
例
例えば、いくつかのテキストフィールドを持つダイアログを実装し、ユーザーにテキストを入力させたいとします。ユーザーがテキストを入力し始めると、1つのテキストフィールドがアプリケーションのフォーカスになる必要があります。
フォーカストラバーサル(ユーザーがあるテキストフィールドから次のテキストフィールドにジャンプするための便利な方法、例えば
tab
ボタン)、ユーザーは次のテキストフィールドに "jump"することができます。アプリケーションは、次のフィールドのフォーカスを獲得して、テキストを受け取る準備をしようとします。次のフィールドがフォーカス可能でない場合、このリクエストは拒否され、次のフィールドがテストされます。たとえば、ラベルにはテキストを入力できないので、フォーカスを取得させないようにすることができます。
フォーカス可能フラグを
true
はデフォルトで
Component
クラスがあります。から派生したオブジェクトを構築する場合
Component
クラスを構築するとき(たとえば
JPanel
) のコンストラクタは
Component
クラスが呼び出され、デフォルトのフォーカス可能なフラグを
true
.
このデフォルトをオーバーライドしたい派生クラスは、メソッド
setFocusable
を使用して、この例で行ったようにデフォルトを変更することができます。
setFocusable はそれ自体でフォーカスを設定するのではなく、コンポーネントにフォーカスを獲得する可能性を与えるだけであることに注意してください。
関連
-
[解決済み] java.sql.SQLException: ユーザー 'root'@'localhost' (using password: YES) のためのアクセスが拒否されました。
-
[解決済み】imageio.IIOException: 入力ファイルが読み込めない
-
[解決済み] JavaでInputStreamを読み込んでStringに変換するにはどうすればよいですか?
-
[解決済み] JavaでNullPointerExceptionを回避する方法
-
[解決済み] JavaにおけるHashMapとHashtableの違いは何ですか?
-
[解決済み] Java Mapの各エントリを効率的に反復処理するには?
-
[解決済み] Javaでメモリーリークを発生させるにはどうしたらいいですか?
-
[解決済み] JavaでArrayListではなくLinkedListを使用するのはいつですか?
-
[解決済み] JavaでStringをintに変換するにはどうしたらいいですか?
-
[解決済み] Javaはパラメータのデフォルト値をサポートしていますか?
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み】Android Studio クラス org.codehaus.groovy.runtime.InvokerHelper を初期化できませんでした。
-
[解決済み】Doubleはdereferencedできない?
-
[解決済み】不正な反射的アクセスとは?
-
[解決済み】指定された子にはすでに親がいます。先に子の親に対してremoveView()を呼び出す必要がある(Android)
-
[解決済み】 java.lang.ClassNotFoundException: oracle.jdbc.driver.OracleDriver [重複]。
-
[解決済み】Eclipseがエラーメッセージ "Java was started but returned exit code = 1" を返す
-
[解決済み】-XX:MaxPermSizeは何をするのですか?
-
[解決済み] メソッドがそのスーパークラスのメソッドをオーバーライドしない
-
[解決済み】Javaを使用するSelenium - ドライバの実行ファイルのパスは、webdriver.gecko.driverシステムプロパティで設定する必要があります。
-
[解決済み] StringBuilderをクリアまたは空にするにはどうすればよいですか?重複] [重複] [重複] [重複] [重複] [重複