プロが教えるわが家の防犯対策術!

javaでテキストボックスのような入出力項目を作り、そこに文字数制限を入れたいのですが、javaにおいてはこれがなかなかむずかしく昨日一日やったのですが、うまくいきません。
自分でクラスを作るとかしないとダメなのでしょうか?

A 回答 (2件)

JTextAreaやJTextFieldに文字が追加されるたびに呼び出されるリスナに


Stringの文字数をチェックする機能を登録してはどうでしょうか?
この方法でいいのかわかりませんが以下にソースサンプルを示します。
例ではJTextAreaを用いて10文字までとしていますが
自由に変更してください。
ちなみに改行も一文字と数えられています。

******
import java.awt.event.*;
import javax.swing.*;

public class TestFrame extends JFrame{
private JTextArea textArea = new JTextArea();
public TestFrame(String title){
super(title);
add(textArea);

textArea.addKeyListener(new KeyAdapter(){
@Override
public void keyReleased(KeyEvent e){
if(textArea.getText().length()>10){
textArea.setText(textArea.getText().substring(0, 10));
}
}
});
}
public static void main(String args[]){
TestFrame frame = new TestFrame("Test");
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.setSize(200,100);
frame.setVisible(true);
}
}
    • good
    • 0
この回答へのお礼

ちょっと意図とは違いましたが、ありがとうございました。

お礼日時:2008/05/16 21:32

入力形式を制限する方法はいくつかありますが、いちばん標準的なのはInputVerifierを使うことでしょうか。

Swingのコンポーネントには、setInputVerifier()というメソッドがあります。

この回答への補足

setInputVerifier()をいろいろ調べましたが、これといった例文がなく
まだできていません。
他の言語では容易だけに戸惑っております。。

補足日時:2008/05/02 13:03
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!


このQ&Aを見た人がよく見るQ&A