我有一個JTextArea,正在檢測是否有任何文本是選擇的,如果沒有,那麼兩個菜單項都是灰色的。我遇到的問題是,當我編譯並打開應用程序時,我必須先點擊JTextArea,然後菜單項變灰,如果我不是他們不是,即使沒有選擇文本。我正在使用以下脫字符偵聽器。在JTextArea中檢測文本選擇
textArea.addCaretListener(new CaretListener() {
@Override
public void caretUpdate(CaretEvent arg0) {
int dot = arg0.getDot();
int mark = arg0.getMark();
if (dot == mark) {
copy2.setEnabled(false);
cut1.setEnabled(false);
}
else{
cut1.setEnabled(true);
copy2.setEnabled(true);
}
}
});
這有用,有沒有更好的方法? (對我來說,這似乎有點俗氣,但它可能只是我)。 – orange 2012-02-11 18:15:43
@Jeff - 想想這樣:選擇是一個積極的行動,使菜單項。當您啓動應用程序時,尚未進行選擇,因此這些項目應處於默認狀態。哪些是禁用的。 – kdgregory 2012-02-11 18:29:08