我有一个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