JLabel标签与鼠标事件处理小程序

本文介绍了一个使用Java Swing创建的GUI程序,该程序能够捕捉并显示鼠标在界面上的各种操作,包括按下、拖拽、移动、进入和离开时的坐标。通过监听MouseEvent,程序在JLabel上实时更新鼠标位置,提供了一个直观的鼠标事件处理示例。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

设计一个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();
}}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值