我正在读这本教科书中的一个问题:
"使用Swing时,必须执行以下哪项操作才能在应用程序窗口中拖动对象:"
A。在对象中有一个mouseDragged方法
B。将一个MouseListener添加到面板
C。将MouseMotionListener添加到对象
D。将MouseMotionListener添加到面板
我认为A不正确,因为mouseDragged可以从父对象继承。 B是错误的,因为MouseListener不用于鼠标拖动。因为它是我们想要拖动的对象,我相信正确的答案是C,但我不能100%确定我之前的假设是正确的。
MouseMotionListener的Java API表示"然后使用组件的addMouseMotionListener方法向该组件注册从该类创建的侦听器对象。 "那么这是否意味着该对象确实是添加MouseMotionListener的对象?
答案 0 :(得分:1)
我认为答案是
D。在面板中添加MouseMotionListener
。
当你拖动某个东西时,该对象的坐标将在显示它的面板中发生变化。因此,通过向面板添加MouseMotionListener
,您可以使用if条件检查拖动的起点是否在对象的边界内,并编写正确的代码来处理拖动。
如果在对象本身中添加MouseMotionListener
,它将无法跟踪超出对象范围的拖动。