2011-07-09 82 views

回答

1

你的意思是:

String s = YourTextArea.getText().contains("*") ? "ATX" : YourTextArea.getText(); 

請澄清你的問題,以便我們能夠幫助您

0

輸出在哪裏?進入這個文本區域本身?所以,換句話說,你想實現某種別名?

在這種情況下,您可以添加KeyListener並在其keyTyped()中實現您的邏輯:if key is * add to text area your text。

1

您可以一鍵監聽器添加到它,所以當永遠的擊鍵的,你檢查,看它是否是一個*,如果它與ATX

1

更換哎呀,誤解的問題。

如果你想經常這樣做,那麼唯一的辦法就是通過KeyListener的:

http://download.oracle.com/javase/tutorial/uiswing/events/keylistener.html

在我看來,這很可能是非常惱人的功能,它以一個字符更改爲3個字符隨着用戶的輸入。考慮在用戶執行某種方法時執行此操作,在這種情況下,您不需要偵聽器。

1

這聽起來像你想捕捉用戶的輸入,然後根據它是什麼來確定你是否想用它做點什麼。

首先,您需要向此JTextArea添加一個操作偵聽器,以偵聽用戶類型,以便確定它是什麼。你可以用KeyListener來做到這一點。接下來,您需要確定插入符號在JTextArea中的位置。你可以用CaretListener來做到這一點。

現在,當發生KeyPressed事件時,您將需要確定密鑰是什麼。如果它實際上是星號*,則您將在插入符的當前位置插入文本ATX到JTextArea中。

然後,您將使用類似:

textarea.insert("ATX", pos); 

哪裏textarea是的JTextArea對象,pos是保存的JTextArea中插入符號的當前位置的整數。如果您不確定如何在CaretListener API上讀取插入符號位置。它有你需要的一切。

3

你可以做到這一點

if(yourTextArea.getText.contains("*")) 
{ 
    yourTextArea.setText("ATX"); 
}