[J2SE] 有關 javax.swing.JTextField

看板java作者 (非天夜翔)時間17年前 (2008/06/10 00:19), 編輯推噓5(505)
留言10則, 4人參與, 最新討論串1/5 (看更多)
想請問一下各位大大, 我在一個 Panel 中加了一個 Field, 要怎麼讓 Field 只能讓使用者輸入文字, 有限制最大長度的, 例如:限制長度為 3, 那使用者只能輸入最多3個字, 像是 Field 中,輸入了 ABC, 那他要打 D 的時候,不會出現 ABCD, <<== 這個才是我想要的效果。 而不是可以輸入很多,我讀3個字, 像是使用者輸入 ABCD,而我只讀 ABC。 麻煩大大指點迷津。謝謝。 m(_@_)m -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 59.104.31.180

06/10 00:23, , 1F
翻了一下JTextArea沒看到,可能需要自己做..
06/10 00:23, 1F

06/10 01:15, , 2F
可以用substring()去抓前3個字
06/10 01:15, 2F

06/10 02:16, , 3F
二樓誤會我的意思了,我想要的是輸入ABC後D就輸入不進去了
06/10 02:16, 3F

06/10 02:18, , 4F
你可在新增文字的事件上處理,參考一下Document
06/10 02:18, 4F

06/10 02:18, , 5F
是用 ActionListener 嗎??還是要用哪一個 Listener ??
06/10 02:18, 5F

06/10 03:14, , 6F
jtf.setDocument() (類別,查一下api)做DocumentListener
06/10 03:14, 6F

06/10 08:20, , 7F
謝謝大大的指教~~
06/10 08:20, 7F

06/10 12:37, , 8F
我以前寫過差不多的,是用一個繼承PlainDocument的換掉,然後
06/10 12:37, 8F

06/10 12:39, , 9F
override掉insertString, 在裡面再另外解決掉遞迴
06/10 12:39, 9F

06/10 12:51, , 10F
謝謝各位大大的指教 m(_@_)m
06/10 12:51, 10F
文章代碼(AID): #18JLWlHg (java)
討論串 (同標題文章)
文章代碼(AID): #18JLWlHg (java)