关于#java#的问题:实现:当鼠标在MainWindow窗口点击时,在窗口标题栏显示点击位置坐标

一个窗口程序定义如下,修改程序,实现:当鼠标在MainWindow窗口点击时,在窗口标题栏显示点击位置坐标。用实现MouseListener接口和继承MouseAdapter类两种方法实现。

import java.awt.*;
import javax.swing.*;
public class MainWindow {
     JFrame jf;
JLabel jl;
public MainWindow(){
    jf = new JFrame();
    jl = new JLabel(new ImageIcon("src\\chapter9\\school.jpg"));
jf.add(jl,BorderLayout.CENTER);
jf.setTitle("学生管理系统");
    jf.setSize(800,600);
    Dimension size = Toolkit.getDefaultToolkit().getScreenSize();        
jf.setLocation((size.width-jf.getWidth())/2,(size.height-jf.getHeight())/2);
jf.setDefaultCloseOperation(JFrame.DISPOSE_ON_CLOSE);  
    jf.setVisible(true);
}
} 

试试。

import javax.swing.*;
import java.awt.event.*;
import java.awt.*;

public class MainWindow{
    private JFrame jf;
    
    public MainWindow() {
        jf=new JFrame("Java第一个窗口");
        Container con = jf.getContentPane();
        con.setBackground(Color.yellow);        //设置窗口背景色
        jf.setBounds(50,100,500,200);      //设置窗口在屏幕上的位置和大小
        jf.setVisible(true);
        jf.setDefaultCloseOperation(JFrame.DISPOSE_ON_CLOSE);  //释放当前窗口
        
        //1、用实现MouseListener接口实现
        //jf.addMouseListener(myMouseListener);
        
        //2、用继承MouseAdapter类实现
        jf.addMouseListener(myMouseAdapter);
    }
    
    MouseListener myMouseListener = new MouseListener() {
        
        @Override
        public void mouseReleased(MouseEvent e) {
            System.out.println("鼠标释放");
            //鼠标按下后释放触发
            
        }
        
        @Override
        public void mousePressed(MouseEvent e) {
            System.out.println("鼠标按下");
            //鼠标按下时触发        
            
        }
        
        @Override
        public void mouseExited(MouseEvent e) {
            System.out.println("光标移除");
            //鼠标的光标移出到组件触发
            
        }
        
        @Override
        public void mouseEntered(MouseEvent e) {
            System.out.println("光标移动到组件");
            //鼠标的光标移动到组件触发
            
        }
        
        @Override
        public void mouseClicked(MouseEvent e) {
            System.out.println("鼠标发生过单机事件");
            //鼠标发生单机事件时触发
            if(e.getButton()==e.BUTTON1){    // 判断获取的按钮是否为鼠标的右击     
                jf.setTitle("MouseListener: " + e.getX()+","+e.getY());     // 获得鼠标点击位置的坐标并发送到标签的文字上
            }
        }
    };
    
    MouseAdapter myMouseAdapter = new MouseAdapter() {
        public void mouseClicked(MouseEvent e) {
            //System.out.println("鼠标点击了");
            jf.setTitle("MouseAdapter: " + e.getX()+","+e.getY());
        }
    };
    
    public static void main(String[] args) {
        new MainWindow();
    }
}