Моя цель - не дать setEnabled в Swing превратить мои JLabels и другие компоненты J в нечитаемые.(Причина этого в том, что у меня есть другое решение для обозначения включенных значков состояния.)
На основании ответов SO на один из моих предыдущих вопросов я решил переопределить setEnabled.Тем не менее, как вы увидите ниже, мое переопределение setEnabled по-прежнему приводит к тому, что компоненты становятся серыми, несмотря на отсутствие какого-либо вызова super (toggle).Может кто-нибудь объяснить, почему невозможно эффективно переопределить поведение setEnabled?
public class ToggleLabel extends JLabel {
private boolean toggle;
public ToggleLabel(String text, boolean toggle) {
super(text);
setEnabled(toggle);
}
public ToggleLabel(Icon image, boolean toggle) {
super(image);
setEnabled(toggle);
}
@Override
public void setEnabled(boolean toggle) {
this.toggle = toggle;
System.out.println("I am used");
}
@Override
public boolean isEnabled() {
return toggle;
}
}