[問題] 請教 JEditorPane 及 Listener的問題

看板java作者 (seruze)時間17年前 (2008/06/11 14:21), 編輯推噓0(000)
留言0則, 0人參與, 最新討論串1/5 (看更多)
我使用的環境是 netbeans 6~ 想做一個類似msn的連線對話小程序. 由於使用 jTextArea 我不會設定他的scroll,很奇怪 但使用 jEditorPane ,同樣的設定就可以控制 scroll.. 所以使用了 jEditorPane! 現在有問題的地方是 . 在msn的對話中,自已的輸入方塊. 在沒有任何文字時,按 enter ,是不會有任何動作的. 所以我把他設成 jEditorPane1.setText(""); 那麼該把這一行指令放在哪呢? 首先我試著放在 public void keyReleased( KeyEvent e ) { jEditorPane1.setText(""); } 結果很明顯,他會換行. 不斷的換行,直到我放開按鍵後才清除~這不是我要的,ok那換一個. 接著我放在 public void keypressed( KeyEvent e ) { jEditorPane.setText(""); } 奇怪的事發生了. 不論我怎麼按,他不會像上一種方法一樣不斷跳行. 但他也不會回到原點= = 他會....在第二行.. 感覺就像是 :已經設為 (""),接著跳一行. 最後,我把他放在 public void keyTyped( KeyEvent e ) { jEditorPane.setText(""); } 可以了,不管怎麼按,他都會回到原點.. 於是我加入了我的條件句. public void keyTyped( KeyEvent e ) { if( e.getKeyCode() == KeyEvent.VK_ENTER ) // 如果按的是 enter 就清除! { jEditorPane.setText(""); } } 他變成....什麼都不做.. 請問為什麼會這樣呢? 是我的if 判斷用法錯了嗎?該怎麼判斷才對呢? 可是我將同樣的判斷句放入 keyPressed()或是 keyReleased()中都可以正常判斷. 怎麼會這樣呢? 而,為什麼放在 keyPressed() 中,會往下跳一行呢? 希望大大們賜教~謝謝了~ -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 210.243.211.177
文章代碼(AID): #18JsxgWg (java)
討論串 (同標題文章)
文章代碼(AID): #18JsxgWg (java)