/*
1、编写一个JFrame窗口,要求如下:
(1)在窗口的最上方放置一个JLabel标签,标签中默认的文本是“此处显示鼠标右键单击的坐标”
(2)为JFrame窗口添加一个鼠标事件,当鼠标右键单击窗口时,鼠标的坐标在JLabel标签中显示
*/
package com.company;
import javax.swing.*;
import java.awt.*;
import java.awt.event.MouseEvent;
import java.awt.event.MouseListener;
import java.awt.event.WindowEvent;
import java.awt.event.WindowListener;
import java.util.EventListener;
public class Task{
private static void MyOpration(){
JFrame f=new JFrame();
f.setLayout(new BorderLayout());
f.setSize(300,200);
f.setLocation(300,200);
f.setVisible(true);
f.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
JLabel label=new JLabel("此处显示鼠标右键单击的坐标",JLabel.LEFT);
f.addMouseListener(new MouseListener() {
@Override
public void mouseClicked(MouseEvent e) {
if(e.getButton()==MouseEvent.BUTTON3){
int x=e.getX();
int y=e.getY();
label.setText("单击鼠标右键时鼠标的坐标为("+x+","+y+")");
}
}
@Override
public void mousePressed(MouseEvent e) {
System.out.println("用户按下了鼠标");
}
@Override
public void mouseReleased(MouseEvent e) {
System.out.println("用户松开了鼠标");
}
@Override
public void mouseEntered(MouseEvent e) {
System.out.println("鼠标进入了窗口区域");
}
@Override
public void mouseExited(MouseEvent e) {
System.out.println("鼠标移出了窗口区域");
}
}
);
f.add(label,BorderLayout.PAGE_START);
}
public static void main(String[] args){
SwingUtilities.invokeLater(Task::MyOpration);
}
}
以下便是运行结果啦: