←フエルチラシノウラ。トップページへもどる。

【Java】 Swing系コンポーネントでキー入力を制御する方法

Java Swing キー入力制限 KeyListener キーリスナー 数字のみ入力可能

【Java】コンポーネントでキー入力を制御する方法【Swing】

説明


数字だけを入力できるテキストボックスとかを作りたい場合は、
以下のような KeyListerの実装を作成し、
コンポーネントに #addKeyListener してやればよい。

KeyListener実装のソース

NumberInputKeyListener.java
public class NumberInputKeyListener implements KeyListener {

/*
* (non-Javadoc)
*
* @see java.awt.event.KeyListener#keyPressed(java.awt.event.KeyEvent)
*/
public void keyPressed(KeyEvent e) {
consumeWithoutNum(e);
}

/*
* (non-Javadoc)
*
* @see java.awt.event.KeyListener#keyReleased(java.awt.event.KeyEvent)
*/
public void keyReleased(KeyEvent e) {
consumeWithoutNum(e);
}

/*
* (non-Javadoc)
*
* @see java.awt.event.KeyListener#keyTyped(java.awt.event.KeyEvent)
*/
public void keyTyped(KeyEvent e) {
consumeWithoutNum(e);
}

/**
* 数字以外は入力キーを無効にします。
*
* @param e
*/
private void consumeWithoutNum(KeyEvent e) {
if (e.getKeyChar() != '0' && e.getKeyChar() != '1'
&& e.getKeyChar() != '2' && e.getKeyChar() != '3'
&& e.getKeyChar() != '4' && e.getKeyChar() != '5'
&& e.getKeyChar() != '6' && e.getKeyChar() != '7'
&& e.getKeyChar() != '8' && e.getKeyChar() != '9') {
e.consume();
}
}

}

http://goodjob.boy.jp/chirashinoura/id/156.html

作成日: 2007-10-02 12:02:11

最終更新日: 2007-10-02 12:02:11

▲このページの上へ