I want to override isEnabled() method in java.awt.Component and use it with a JTextArea.
This is what I do.
This code snippet is called inside the Jframe constructor.
jTextArea1 = new javax.swing.JTextArea(){
@Override
public boolean isEnabled(){
if(getForeground()== new Color(0, 0, 0)){
return true;
}
return false;
}
};
And when mouse is clicked on the jTextArea1 following funtion is called.
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");
}
}
I am using netbeans IDE so actionlistners are auto generated.
The reason I'm doing this is, I want to change mouse cursor when it is over jTextArea1. If I simply used setEnabled() method cursor wont change when jTextArea1 is in "not enabled" state. So this way will leave jTextArea1 in the "enabled" state all the time but will give the visual apearence of being enabled and unabled when mouse is clicked on it. And if isEnabled() funtion is called it will pretend that enable state is changed when mouse is clicked.
My problem is it doesnt give the output that I am expecting. I have initally set text foreground colour to non black(gray). When mouse is clicked colour isnt changing to black. And it prints "black".