java 编写一个JFrame窗口,要求如下: (1)在窗口的最上方放置一个JLabel标签,标签中默认的文文本是“此处显示鼠标右键单击的坐标”。 (2)为JFrame窗口添加一个鼠标事件,当鼠标右键单击窗口时,鼠标的坐标在JLabel标签中显示。
时间: 2024-02-23 08:02:58 浏览: 83
好的,以下是一个简单的Java程序,实现了您所需的要求:
```
import java.awt.event.MouseAdapter;
import java.awt.event.MouseEvent;
import javax.swing.JFrame;
import javax.swing.JLabel;
public class MyJFrame extends JFrame {
JLabel label = new JLabel("此处显示鼠标右键单击的坐标");
public MyJFrame() {
this.setSize(400, 400);
this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
this.setVisible(true);
// 添加标签
this.add(label, "North");
// 添加鼠标事件
this.addMouseListener(new MouseAdapter() {
public void mouseClicked(MouseEvent e) {
if (e.getButton() == MouseEvent.BUTTON3) {
label.setText("鼠标坐标:(" + e.getX() + "," + e.getY() + ")");
}
}
});
}
public static void main(String[] args) {
new MyJFrame();
}
}
```
解释一下代码:
首先,我们定义了一个MyJFrame类,继承自JFrame类,这个类表示我们的窗口。
在MyJFrame类的构造函数中,我们设置了窗口的大小、关闭方式和可见性,并且添加了一个JLabel标签。
然后,我们添加了一个鼠标事件,当鼠标右键单击窗口时,会触发这个事件。在事件处理方法中,我们判断鼠标按键是否是右键,如果是,就更新JLabel标签的文本,显示鼠标的坐标。
最后,我们在main方法中创建了一个MyJFrame对象,启动了程序。
希望这个程序能帮到你。
阅读全文