나는 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
@Jeff -이 방법으로 생각해보십시오 : 선택은 메뉴 항목을 활성화하는 긍정적 인 동작입니다. 앱을 시작할 때 선택 항목이 아직 선택되지 않았으므로 해당 항목은 기본 상태 여야합니다. 어떤 장애인입니다. – kdgregory