Итак, я создал анонимный внутренний класс через
obj.addMouseListener(new MouseListener()
но потому что это дало мне ошибку (он хотел, чтобы я реализовал как минимум 4 метода с именами, такими как mouseReleased, mouseClicked и т. д. Поскольку я предположил, что класс неправильно расширяет/реализует MouseListener, я наткнулся на другую статью SO (Как анонимный класс может использовать расширения или реализации?), где Я понял, что анонимные внутренние классы всегда расширяют/реализуют суперкласс (верно?), Поэтому я продолжил поиск ответа и наткнулся на другую статью SO (У меня возникли проблемы с выбором времени использования объекта MouseListener), что на самом деле не связано с моей проблемой, но я видел, как владелец треда написал эти строчки кода
@Override public void mouseExited(MouseEvent e) {}
@Override public void mouseEntered(MouseEvent e) {}
@Override public void mouseReleased(MouseEvent e) {}
@Override public void mousePressed(MouseEvent e) {}
Это то, чего мне не хватало? Я уже пытался @переопределить весь класс сразу, но это выдало мне еще одну ошибку. Я вижу, как это решит проблему, но мне это кажется очень грязным.
В основном это сводится к 2 вопросам; правда ли то, что я только что написал / обнаружил, и это способ решить мою проблему, и если это решение, есть ли другое (более чистое) решение?