设计一个GUI程序,要求对鼠标事件处理,鼠标发生按下,拖拽,移动,进入,离开等操作时,用标签标明坐标值。
package x;
import java.awt.;
import javax.swing.;
import java.awt.event.*;
public class w extends JFrame implements MouseListener,MouseMotionListener{
private JLabel jlabel;
private Container container;
public w(){
container=this.getContentPane(); //获取顶层内容面板
container.setLayout(null); //设置布局管理器为null
jlabel =new JLabel();
jlabel.setBounds(10,30,200,20);//设置标签大小以及位置
container.add(jlabel);
this.setSize(300,300);//设置程序窗口大小
this.setVisible(true);//设置程序可视
this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
this.addMouseListener(this);//鼠标单击,选择,释放等状态事件
this.addMouseMotionListener(this);//鼠标拖拽,移动事件}
//鼠标单击事件
public void mouseClicked(MouseEvent e) {
jlabel.setText("Clicked at["+e.getX()+","+e.getY()+"]");//获取单击位置坐标
}
//鼠标按下事件
public void mousePressed(MouseEvent e) {
jlabel.setText("Pressed at["+e.getX()+","+e.getY()+"]");//获取鼠标按下坐标
}
//鼠标释放事件
public void mouseReleased(MouseEvent e) {
jlabel.setText("Released at["+e.getX()+","+e.getY()+"]");//获取鼠标释放坐标
}
//鼠标进入事件
public void mouseEntered(MouseEvent e) {
jlabel.setText("Entered at["+e.getX()+","+e.getY()+"]");//获取鼠标进入坐标
container.setBackground(Color.PINK);//设置进入后改变颜色
}
//鼠标离开事件
public void mouseExited(MouseEvent e) {
jlabel.setText("window");
container.setBackground(Color.WHITE);
}
//鼠标拖动状态
public void mouseDragged(MouseEvent e) {
jlabel.setText("Dragged at["+e.getX()+","+e.getY()+"]");
}
//鼠标移动状态
public void mouseMoved(MouseEvent e) {
jlabel.setText("Moved at["+e.getX()+","+e.getY()+"]");
}
public static void main(String[] args) {
w s=new w();
}}