点击鼠标变色,松开恢复原色,获取鼠标在面板的实时位置坐标
package com.swing;
import java.awt.BorderLayout;
import java.awt.Color;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.awt.event.MouseEvent;
import java.awt.event.MouseListener;
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JPanel;
public class SwingButton {
public SwingButton() {
JFrame frame = new JFrame("按钮事件"); //创建一个窗口对象
frame.setBounds(400, 400, 500, 300); //设置窗口位置,大小
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); //设置默认关闭窗口
JButton btn1 = new JButton("按钮1");
JPanel panel = new JPanel();
JLabel label = new JLabel();
btn1.setBackground(Color.green); //设置按钮背景颜色
btn1.addMouseListener(new MouseListener() {
//鼠标监听事件
@Override
public void mouseReleased(MouseEvent e) {
// TODO Auto-generated method stub
btn1.setBackground(Color.green);
}
@Override
public void mousePressed(MouseEvent e) {
// TODO Auto-generated method stub
btn1.setBackground(Color.BLUE);
}
@Override
public void mouseClicked(MouseEvent e) {
btn1.setBackground(Color.blue);
}
@Override
public void mouseEntered(MouseEvent e) {
btn1.setBackground(Color.GREEN);
}
@Override
public void mouseExited(MouseEvent e) {
// TODO Auto-generated method stub
btn1.setBackground(Color.GREEN);
}
});
frame.addMouseListener(new MouseListener() {
@Override
public void mouseReleased(MouseEvent e) {
int x = e.getX();//获取鼠标横坐标
int y = e.getY();//获取鼠标纵坐标
label.setText("横坐标X:"+x+",纵坐标Y: "+y);
}
@Override
public void mousePressed(MouseEvent e) {
int x = e.getX();//获取鼠标横坐标
int y = e.getY();//获取鼠标纵坐标
label.setText("横坐标X:"+x+",纵坐标Y: "+y);
}
@Override
public void mouseExited(MouseEvent e) {
}
@Override
public void mouseEntered(MouseEvent e) {
int x = e.getX();//获取鼠标横坐标
int y = e.getY();//获取鼠标纵坐标
label.setText("横坐标X:"+x+",纵坐标Y: "+y);
}
@Override
public void mouseClicked(MouseEvent e) {
int x = e.getX();//获取鼠标横坐标
int y = e.getY();//获取鼠标纵坐标
label.setText("横坐标X:"+x+",纵坐标Y: "+y);
}
});
panel.add(btn1,BorderLayout.NORTH);
panel.add(label,BorderLayout.CENTER);
frame.add(panel);
frame.setVisible(true);
}
public static void main(String[] args) {
new SwingButton();
}
}
运行结果: