use*_*460 -1 java swing awt mouselistener
在Java mouseListener中,其中一个方法是mouseEntered().
根据API它说:
鼠标进入组件时调用.
所以我的问题是: API指的是哪个组件?它是添加mouseListener的组件吗?
例:
JLabel labelA = new JLabel();
JLabel labelB = new JLabel();
labelA.addMouseListener(new LabelMouseListener());
//Codes for LabelMouseListener class not shown
Run Code Online (Sandbox Code Playgroud)
因此,只有当我将鼠标光标移动到区域时,上述情况下的mouseEntered才有效labelA.我对吗?
我的第二个问题:如果我有一个JComponent哪个类实现了mouseListener,那么何时会在这个类中触发mouseEntered/Exited?
是否将鼠标光标移入/移出此JComponent?
例:
class myDisplay extends JComponent implements mouseListener
{
}
Run Code Online (Sandbox Code Playgroud)
文件说明:
然后, 使用组件的addMouseListener方法向该组件注册从该类创建的侦听器对象.按下鼠标,释放单击(按下并释放)时会生成鼠标事件.当鼠标光标进入或离开组件时,也会生成鼠标事件.
我猜他们可以用最后一个语句的组件替换一个组件.无论哪种方式,测试它都会证实你的信念.
把它们加起来...
是的,它指的是添加侦听器的组件.
对于第二个问题,即使您实现了MouseListener,您仍然需要将其添加到该组件:
class MyClass extends JComponent implements MouseListener {
public MyClass() {
addMouseListener(this); //adds this instance's listener to this component
}
//override methods
}
Run Code Online (Sandbox Code Playgroud)
是的,它只会在你的鼠标进入/退出这个组件时触发(只有当你记得添加监听器时;它不会因为它的实现而无法工作,你必须添加它)
| 归档时间: |
|
| 查看次数: |
548 次 |
| 最近记录: |