Re: [問題] JTextField問題

看板java作者 (叔叔你人真好)時間17年前 (2008/05/13 17:58), 編輯推噓1(100)
留言1則, 1人參與, 最新討論串2/2 (看更多)
※ 引述《NippleSir (我並不色阿)》之銘言: : 標題: [問題] JTextField問題 : 時間: Sun May 11 19:49:06 2008 : 剛接觸JAVA不久  想請問一下                    : JTextField該如何設計才能像下面這張圖的樣子呢?               : 輸入IP的地方有點格開                           : 剛每格輸入滿3個數字時會自動跳到下一格去                    :   http://0rz.tw/e742g                         有兩個做法: 1. 非常 straight forward,用一個 JPanel 放三個 JTextField 和兩個 JLabel 進去,全部的 background 調成白色,JTextField 的 border 變 null (XDDD) 兩個 Label 放一個 . 進去... JPanel 的 border 弄成像 JTextField 一樣... 之後你該知道怎麼做... 想能 reuse 的話做成一個 extend JPanel 就好了 XD 2. 用一個 JTextField, Listen to key event. 每一個 key input 後看看他是否 數字,是數字的話就放進去 current position,否則 ignore,是 . 就跳到下 一格... 什麼下一格呢?就是把 caret 設到後面... 也就是說... JTextField 起始 setText(" . . "), moveCaretPosition(0); user input : 1 -> numeric OK -> setText("1 . . "), moveCaretPosition(1); user input : c -> not numeric -> ignore input user input : 2 -> numeric OK -> setText("12 . . "), moveCaretPosition(2); user input : . -> period OK -> setText("12 . . "), moveCaretPosition(5); user input : 4 -> numeric OK -> setText("12 .4 . "), moveCaretPosition(6); 像這樣子。到了最後再 override getText() 做 checking 和把 space 拿掉就好 可能有點混亂,不好意思... : → NippleSir:老話ㄧ句 多看API? 05/11 22:40 當初我也有想這有沒有 API 可做,但沒有 XD 之後就想到以上第二個 solution 不過因為我在做公司的工作所以沒回應 :P -- 很多人以為 所以我要 其實我是個 我是大學生 告訴大家 三十一歲的怪叔叔 ● ●/ ︿ ︿ /\ < ● ㄨ /\ ㄨ -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 147.8.130.225

05/13 19:42, , 1F
Thank you for telling me. ^_^!
05/13 19:42, 1F
文章代碼(AID): #18AMPQGD (java)
文章代碼(AID): #18AMPQGD (java)