只是想知道创建需要处理鼠标点击和按键的类的最佳实践方法是什么。显然不可能在 Java 中继承多个类,所以目前我正在使用 MouseListener 和 KeyListener 接口,这意味着当我实际上只需要 keyReleased 和 mouseReleased 时,我的类中必须有很多空方法来满足接口。
如果我可以使用 MouseAdapter 和 KeyAdapter,我就可以摆脱这些方法并拥有更简洁的代码。因此,有关使用这些类的方法的任何建议都不会比我已经拥有的更混乱。
只是想知道创建需要处理鼠标点击和按键的类的最佳实践方法是什么。显然不可能在 Java 中继承多个类,所以目前我正在使用 MouseListener 和 KeyListener 接口,这意味着当我实际上只需要 keyReleased 和 mouseReleased 时,我的类中必须有很多空方法来满足接口。
如果我可以使用 MouseAdapter 和 KeyAdapter,我就可以摆脱这些方法并拥有更简洁的代码。因此,有关使用这些类的方法的任何建议都不会比我已经拥有的更混乱。
您可以从其中一个类继承Adapter
,然后实现另一个接口。这样你只需要做大约一半的工作。
我建议使用Adapter
提供最多方法覆盖率的 ,以最大程度地减少您的工作。
如果您已经从其他东西继承,那么您显然别无选择,只能实现这两个接口。
优先于或扩展MouseAdapter
和使用键绑定。KeyListener
KeyAdapter
我会冒昧地说你不应该尝试将这个功能组合到一个类中,尝试这样做可能是一个糟糕的设计决定。如果您说这是因为它们都将发起相同的操作,那么一定要让两个控制类共享相同的模型,否则会创建单独的类——一个用于处理鼠标交互,一个用于处理键盘交互(以及垃圾神说,对他来说 1+,--使用键绑定,而不是 KeyListener)。
您可以扩展一个,然后使用“通过委托替换继承”重构(在 Intellij 中,我假设 eclipse 有一个等价物)然后扩展另一个