java.awt.Component에서 isEnabled() 메서드를 재정의하고 JTextArea와 함께 사용하려고합니다.JTextArea isEnabled() 메서드를 재정의하는 방법
이것은 내가하는 일입니다.
이 코드 단편은 Jframe 생성자 내부에서 호출됩니다.
jTextArea1 = new javax.swing.JTextArea(){
@Override
public boolean isEnabled(){
if(getForeground()== new Color(0, 0, 0)){
return true;
}
return false;
}
};
그리고 jTextArea1에서 마우스를 클릭하면 다음과 같은 함수가 호출됩니다.
private void jTextArea1MouseClicked(java.awt.event.MouseEvent evt) {
if (jTextArea1.isEnabled()) {
jTextArea1.setForeground(Color.GRAY);
jTextArea1.revalidate();
System.out.println("gray");
} else {
jTextArea1.setForeground(Color.BLACK);
jTextArea1.revalidate();
System.out.println("black");
}
}
나는 actionbeeners가 자동 생성되도록 netbeans IDE를 사용하고 있습니다.
내가 이것을하는 이유는 jTextArea1을 초과하면 마우스 커서를 변경하고 싶다. jTextArea1이 "사용 불가능"상태에있을 때 setEnabled() 메소드 커서를 사용하면 변경되지 않습니다. 이렇게하면 jTextArea1은 항상 "사용 가능"상태로 유지되지만 마우스를 클릭하면 활성화 및 사용 불가능으로 시각적으로 표시됩니다. 그리고 isEnabled() 함수가 호출되면 마우스를 클릭하면 활성화 상태가 변경되는 것처럼 가장합니다.
내 문제는 내가 예상 한 출력을 제공하지 않는다는 것입니다. 처음에는 텍스트 전경색을 비 검정색 (회색)으로 설정했습니다. 마우스를 클릭하면 색상이 검은 색으로 변하지 않습니다. 그리고 "검은 색"을 인쇄합니다.
오 .. 바보 같은 실수 ..이 당신의 모든 귀찮게 정말 죄송합니다. equals 연산자 대신 equals()를 사용해야합니다. 감사합니다. Tom. :) – Niroshan