0

我正在阅读的这本教科书中有一个问题:

“使用 Swing 时,必须执行以下哪一项操作才能允许在应用程序窗口中拖动对象:”

A.在对象中有一个 mouseDragged 方法
B.将 MouseListener 添加到面板
C.将 MouseMotionListener 添加到对象
D.将 MouseMotionListener 添加到面板

我认为 A 不正确,因为 mouseDragged 可以从父对象继承。B 是错误的,因为 MouseListener 不用于鼠标拖动。并且由于它是我们要拖动的对象,所以我相信正确的答案是 C,但我不能 100% 确定我之前的假设是正确的。

MouseMotionListener 的 Java API 说“从该类创建的侦听器对象然后使用组件的 addMouseMotionListener 方法注册到组件中。”那么这是否意味着该对象确实是添加 MouseMotionListener 的对象?

4

1 回答 1

1

我想答案会是

D.MouseMotionListener在面板中添加一个。

当您拖动某些东西时,该对象的坐标将在显示它的面板中发生变化。因此,通过向MouseMotionListener面板添加 ,您可以使用 if 条件检查拖动的起点是否在对象的范围内,并编写适当的代码来处理拖动。

如果您MouseMotionListener在对象本身中添加 ,它将无法跟踪超出对象边界的拖动。

于 2013-06-29T03:53:21.703 回答