[問題] 請教 JEditorPane 及 Listener的問題
我使用的環境是 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
討論串 (同標題文章)
以下文章回應了本文 (最舊先):
完整討論串 (本文為第 1 之 5 篇):