質問: javaで文字数制限するには? javaでテキストボックスのような入出力項目を作り、そこに文字数制限を入れたいのですが、javaにおいてはこれがなかなかむずかしく昨日一日やったのですが、うまくいきません。 自分でクラスを作るとかしないとダメなのでしょうか?
回答: 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); } }