フォーカス
日本語 | 焦点 |
英語 | focus |
ふりがな | ふぉーかす |
フリガナ | フォーカス |
キー入力できる状態にあること。
テキストフィールドやボタン等のGUIの入力項目は、キー入力ができるのはカーソルが表示されていたりハイライト表示されている場合のみである。この「キー入力ができる状態」を「フォーカスがセットされている状態」と呼ぶ。
フォーカスは通常、マウスカーソルによるクリックでセットできる。また、Tabキーによっても変更できる。
フォーカスがセットされた、もしくは外されたといったイベントを受け取るためのイベントリスナーはFocusListenerインターフェイスの実装クラスとする必要がある。フォーカスが外れた時に入力項目のチェックを行う、といったこともあるため使用頻度は多い。
テキストフィールドやボタン等のGUIの入力項目は、キー入力ができるのはカーソルが表示されていたりハイライト表示されている場合のみである。この「キー入力ができる状態」を「フォーカスがセットされている状態」と呼ぶ。
フォーカスは通常、マウスカーソルによるクリックでセットできる。また、Tabキーによっても変更できる。
フォーカスがセットされた、もしくは外されたといったイベントを受け取るためのイベントリスナーはFocusListenerインターフェイスの実装クラスとする必要がある。フォーカスが外れた時に入力項目のチェックを行う、といったこともあるため使用頻度は多い。
参考サイト
// Sample.java
import java.awt.Container;
import java.awt.event.FocusListener;
import java.awt.event.FocusEvent;
import javax.swing.JFrame;
import javax.swing.JPanel;
import javax.swing.JTextField;
public class Sample
{
public static void main( String[] args )
{
// フレームウィンドウを作ります。
JFrame jFrame = new JFrame( "ウィンドウタイトル" );
// 「閉じるボタン」が押されたら終了するようにします。
jFrame.setDefaultCloseOperation( JFrame.EXIT_ON_CLOSE );
// フレームウィンドウの位置とサイズを決めます。
jFrame.setBounds( 0, 0, 400, 300);
// テキストフィールドを置くパネルを作ります。
JPanel jPanel = new JPanel();
// 左のテキストフィールドを作ります。
JTextField jTextFieldL = new JTextField( "左" );
jTextFieldL.addFocusListener( new Listner( "左" ) );
jPanel.add( jTextFieldL );
// 右のテキストフィールドを作ります。
JTextField jTextFieldR = new JTextField( "右" );
jTextFieldR.addFocusListener( new Listner( "右" ) );
jPanel.add( jTextFieldR );
// フレームウィンドウにパネルをセットします。
Container container = jFrame.getContentPane();
container.add( jPanel );
// そしてウィンドウを表示します。
jFrame.setVisible( true );
}
}
/**
* テキストフィールドのフォーカスリスナークラス。
*/
class Listner implements FocusListener
{
/** フォーカスリスナーの「名前」 */
private String name = "";
/**
* コンストラクタ。
*/
public Listner( String name )
{
this.name = name;
}
/**
* フォーカスが取得できた時に呼び出されます。
*/
public void focusGained( FocusEvent e )
{
System.out.println( "focusGained() : " + name );
}
/**
* フォーカスが外れた時に呼び出されます。
*/
public void focusLost(FocusEvent e)
{
System.out.println( "focusLost() : " + name );
}
}
import java.awt.Container;
import java.awt.event.FocusListener;
import java.awt.event.FocusEvent;
import javax.swing.JFrame;
import javax.swing.JPanel;
import javax.swing.JTextField;
public class Sample
{
public static void main( String[] args )
{
// フレームウィンドウを作ります。
JFrame jFrame = new JFrame( "ウィンドウタイトル" );
// 「閉じるボタン」が押されたら終了するようにします。
jFrame.setDefaultCloseOperation( JFrame.EXIT_ON_CLOSE );
// フレームウィンドウの位置とサイズを決めます。
jFrame.setBounds( 0, 0, 400, 300);
// テキストフィールドを置くパネルを作ります。
JPanel jPanel = new JPanel();
// 左のテキストフィールドを作ります。
JTextField jTextFieldL = new JTextField( "左" );
jTextFieldL.addFocusListener( new Listner( "左" ) );
jPanel.add( jTextFieldL );
// 右のテキストフィールドを作ります。
JTextField jTextFieldR = new JTextField( "右" );
jTextFieldR.addFocusListener( new Listner( "右" ) );
jPanel.add( jTextFieldR );
// フレームウィンドウにパネルをセットします。
Container container = jFrame.getContentPane();
container.add( jPanel );
// そしてウィンドウを表示します。
jFrame.setVisible( true );
}
}
/**
* テキストフィールドのフォーカスリスナークラス。
*/
class Listner implements FocusListener
{
/** フォーカスリスナーの「名前」 */
private String name = "";
/**
* コンストラクタ。
*/
public Listner( String name )
{
this.name = name;
}
/**
* フォーカスが取得できた時に呼び出されます。
*/
public void focusGained( FocusEvent e )
{
System.out.println( "focusGained() : " + name );
}
/**
* フォーカスが外れた時に呼び出されます。
*/
public void focusLost(FocusEvent e)
{
System.out.println( "focusLost() : " + name );
}
}
// Sample.java import java.awt.Container; import java.awt.event.FocusListener; import java.awt.event.FocusEvent; import javax.swing.JFrame; import javax.swing.JPanel; import javax.swing.JTextField; public class Sample { public static void main( String[] args ) { // フレームウィンドウを作ります。 JFrame jFrame = new JFrame( "ウィンドウタイトル" ); // 「閉じるボタン」が押されたら終了するようにします。 jFrame.setDefaultCloseOperation( JFrame.EXIT_ON_CLOSE ); // フレームウィンドウの位置とサイズを決めます。 jFrame.setBounds( 0, 0, 400, 300); // テキストフィールドを置くパネルを作ります。 JPanel jPanel = new JPanel(); // 左のテキストフィールドを作ります。 JTextField jTextFieldL = new JTextField( "左" ); jTextFieldL.addFocusListener( new Listner( "左" ) ); jPanel.add( jTextFieldL ); // 右のテキストフィールドを作ります。 JTextField jTextFieldR = new JTextField( "右" ); jTextFieldR.addFocusListener( new Listner( "右" ) ); jPanel.add( jTextFieldR ); // フレームウィンドウにパネルをセットします。 Container container = jFrame.getContentPane(); container.add( jPanel ); // そしてウィンドウを表示します。 jFrame.setVisible( true ); } } /** * テキストフィールドのフォーカスリスナークラス。 */ class Listner implements FocusListener { /** フォーカスリスナーの「名前」 */ private String name = ""; /** * コンストラクタ。 */ public Listner( String name ) { this.name = name; } /** * フォーカスが取得できた時に呼び出されます。 */ public void focusGained( FocusEvent e ) { System.out.println( "focusGained() : " + name ); } /** * フォーカスが外れた時に呼び出されます。 */ public void focusLost(FocusEvent e) { System.out.println( "focusLost() : " + name ); } }