为Jabel加入MouseListener,当鼠标进行本控件时在Jalbel显示自己学号,当鼠标移出时显示自己姓名,当按下时显示当前的时间。
时间: 2024-03-02 10:54:01 浏览: 101
你可以使用MouseListener接口来实现这个功能。以下是一个简单的实现示例:
```java
import java.awt.event.MouseEvent;
import java.awt.event.MouseListener;
import java.text.SimpleDateFormat;
import java.util.Date;
import javax.swing.JLabel;
public class MyLabel extends JLabel implements MouseListener {
private static final long serialVersionUID = 1L;
private final String name;
private final String id;
private final SimpleDateFormat dateFormat;
public MyLabel(String name, String id) {
super();
this.name = name;
this.id = id;
this.dateFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
this.setText(name);
this.addMouseListener(this);
}
@Override
public void mouseClicked(MouseEvent e) {
String time = dateFormat.format(new Date());
setText(time);
}
@Override
public void mouseEntered(MouseEvent e) {
setText(id);
}
@Override
public void mouseExited(MouseEvent e) {
setText(name);
}
@Override
public void mousePressed(MouseEvent e) {
}
@Override
public void mouseReleased(MouseEvent e) {
}
}
```
在这个示例中,我们创建了一个名为MyLabel的自定义标签,它实现了MouseListener接口。在构造函数中,我们设置了标签的姓名和学号,并初始化了一个SimpleDateFormat对象,用于格式化日期时间。然后,我们将MouseListener添加到标签上。
当鼠标进入标签时,mouseEntered()方法会被调用,我们将标签的文本设置为学号。当鼠标移出标签时,mouseExited()方法会被调用,我们将标签的文本设置为姓名。当鼠标单击标签时,mouseClicked()方法会被调用,我们将标签的文本设置为当前的日期时间。
你可以将MyLabel添加到你的Swing应用程序中,然后运行它,就可以看到这个功能的效果了。