gpt4 book ai didi

java - Java中MouseListener和MouseAdapter的区别

转载 作者:行者123 更新时间:2023-12-02 09:43:42 27 4
gpt4 key购买 nike

我似乎无法理解这两个界面之间的区别。为什么MouseAdapter不能像MouseListener一样实现而只能扩展?我对 Java 还很陌生。

考虑到我们想要执行一个可以使用这两个接口(interface)其中一个来完成的操作。

此外,什么时候使用其中一个比较明智,什么时候使用另一个比较明智?

最佳答案

I can't seem to understand the difference between the 2 interfaces. Why can't MouseAdapter be implemented like MouseListener and can only be extended

MouseAdapter实现MouseListener

鼠标适配器:

An abstract adapter class for receiving mouse events. The methods in this class are empty. This class exists as convenience for creating listener objects. Extend this class to create a MouseEvent (including drag and motion events) or/and MouseWheelEvent listener and override the methods for the events of interest

在没有 MouseAdapter 的情况下,如果您实现 MouseListener,则必须为所有这些接口(interface)方法提供实现。

mouseClicked(MouseEvent e)
mouseDragged(MouseEvent e)
mouseEntered(MouseEvent e)
mouseExited(MouseEvent e)
mouseMoved(MouseEvent e)
mousePressed(MouseEvent e)
mouseReleased(MouseEvent e)
mouseWheelMoved(MouseWheelEvent e)

when would it be wise to use the one and when the other ?

如果你想实现以上8个方法,请实现MouseListener。如果您只想为这 8 个方法中的某些方法提供实现,请使用 MouseAdapter 并仅重写您感兴趣的那些方法。

例如如果您只对实现一个事件(或几个事件)感兴趣,例如 mouseClicked(MouseEvent e) 事件,最好使用 MouseAdapter。如果在这种情况下实现 MouseListener 接口(interface),则必须为其他方法提供空白实现,而您不会实现这些方法。

关于java - Java中MouseListener和MouseAdapter的区别,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44268617/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com