import java.awt.*
import java.awt.event.*
public class Test3 {
public static void main(String args[]) {
new Test2()
}
}
class Test2 extends Frame {
TextField tf1,tf2
public Test2(){
tf1 = new TextField(5)
tf2 = new TextField(5)
add(tf1)
add(tf2)
setLayout(new FlowLayout())
setBounds(100,100,400,300)
addMouseMotionListener(new MouseMotionAdapter(){//鼠标移动事件的侦听器
public void mouseMoved(MouseEvent e) {//鼠标按键在组件上移动(无按逗裤键山搏简按下)时银姿调用。
tf1.setText(e.getX()+"" )
tf2.setText(e.getY()+"" )
}
})
addWindowListener(new WindowAdapter(){
public void windowClosing(WindowEvent e) {
System.exit(0)
}
})
setVisible(true)
}
}
for (int i = 0i <gt.lengthi++) {final int index = i
gt[i].addMouseListener(new MouseAdapter() {
@Override
public void mouseEntered(MouseEvent e) {
gt[index].setIcon(new ImageIcon("newIcon.png"))
}
@Override
public void mouseExited(MouseEvent e) {
gt[index].setIcon(null)
}
})
}
在这个示例中,我们使用
for
循环遍历
gt
数组中的每个
JLabel
,并为其添加一个匿名的
MouseAdapter
对象作为亩枝激鼠标监听器。在迅袜监听器中,搭禅我们使用
final
关键字定义了一个
index
变量,用于存储当前
JLabel
在数组中的索引。然后,我们在
mouseEntered
方法中使用
setIcon
方法将当前
JLabel
的图标设置为新的图标。在
mouseExited
方法中,我们将当前
JLabel
的图标设置为
null
,以恢复其原始图标。
写个定时器,定时判断鼠标的坐标是否改变即可。
具体代码就算了,你自己查API。
简单逻辑,就是 用一个变量把 鼠标当前坐标保存。
定时检测的时候,和这个变顷漏量比较,
如果改变颂乎冲,就执行你的逻辑,并把新的值赋值过去野歼即可。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)