У меня есть собственный класс кнопок под названием ImageButton, который расширяет JButton. В нем у меня есть метод setEnabled, который я хочу вызывать, а не метод setEnabled JButton.
Мой код ниже. В моем другом классе я создаю новый экземпляр ImageButton, но когда я пытаюсь использовать метод setEnabled, он идет прямо в метод setEnabled JButton. Еще до того, как я запустил код, моя IDE сообщает мне, что метод setEnabled в ImageButton никогда не используется. Если я изменю метод на «SetOn», он будет работать нормально. Так почему же я не могу использовать то же имя, что и у суперкласса? Я думал, что это должен скрыть метод суперкласса, если это то же имя?
public class ImageButton extends JButton{
public ImageButton(ImageIcon icon){
setSize(icon.getImage().getWidth(null),icon.getImage().getHeight(null));
setIcon(icon);
setMargin(new Insets(0,0,0,0));
setIconTextGap(0);
setBorderPainted(true);
setBackground(Color.black);
setText(null);
}
public void setEnabled(Boolean b){
if (b){
setBackground(Color.black);
} else {
setBackground(Color.gray);
}
super.setEnabled(b);
}
}