📄 mouseeventdemo.java
字号:
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
public class MouseEventDemo extends JFrame
{
private JLabel label;
private JPanel panel;
public MouseEventDemo()
{
super("鼠标事件");
try
{ //设置外观
UIManager.setLookAndFeel(UIManager.getSystemLookAndFeelClassName());
}catch(Exception e){}
setSize(400, 400);
//获取内容面板
Container container = getContentPane();
container.setBackground(Color.GREEN);
//创建面板
panel = new JPanel();
panel.setPreferredSize(new Dimension(400, 25));
//创建标签
label=new JLabel();
label.setFont(new Font("Serif", Font.PLAIN, 14));
panel.add(label);
//注册鼠标事件监听器
container.addMouseListener(new MouseListener()
{ //使用内部匿名类实现
//按下鼠标事件处理
public void mousePressed(MouseEvent event)
{
String str = "按住鼠标左键不放,坐标(";
if(event.isMetaDown())
str = "按住鼠标右键不放,坐标(";
label.setText(str + event.getX() + "," + event.getY() + ")");
}
//按下并且马上释放鼠标事件处理
public void mouseClicked(MouseEvent event)
{
String str = "鼠标左键单击,坐标(";
if(event.isMetaDown())
str = "鼠标右键单击,坐标(";
label.setText(str + event.getX() + "," + event.getY() + ")");
}
//拖动鼠标然后释放事件处理
public void mouseReleased(MouseEvent event)
{
String str = "鼠标左键释放,坐标(";
if(event.isMetaDown())
str = "鼠标右键释放,坐标(";
label.setText(str + event.getX() + "," + event.getY() + ")");
}
//鼠标移入事件处理
public void mouseEntered(MouseEvent event)
{
label.setText("鼠标进入窗口");
label.setForeground(Color.BLACK);
}
//鼠标移出事件处理
public void mouseExited(MouseEvent event)
{
label.setText("鼠标移出窗口");
label.setForeground(Color.BLACK);
}
});
container.add(panel, BorderLayout.SOUTH);
setVisible(true);
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
}
public static void main(String args[])
{
MouseEventDemo application = new MouseEventDemo();
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -