java中鼠标和键盘监听如何同时实现
/*为什么我只能实现鼠标事件,键盘事件无法实现,求指出错误*/
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
public class Shixun5 extends JFrame{
private JLabel lx,ly,l1,l2;
private JTextField tx,ty;
Container container;
public Shixun5(){
this.setTitle("实训5");
this.setSize(600, 450);
this.setVisible(true);
container=this.getContentPane();
container.setLayout(new FlowLayout());
lx=new JLabel("X坐标");
ly=new JLabel("Y坐标");
l1=new JLabel();
l2=new JLabel();
tx=new JTextField(10);
ty=new JTextField(10);
container.add(lx);
container.add(tx);
container.add(ly);
container.add(ty);
container.add(l1);
container.add(l2);
this.addMouseListener(new mLis());
this.addMouseMotionListener(new mmLis());
this.addKeyListener(new keyLis());
this.addWindowListener(new WindowAdapter(){
public void windowClosing(WindowEvent e){
System.exit(0);
}
});
}
class mLis extends MouseAdapter{
public void mouseClicked(MouseEvent e){
l1.setText("单击鼠标"+e.getClickCount()+"次");
}
public void mousePressed(MouseEvent e){
l1.setText("鼠标按钮按下 ");
}
public void mouseReleased(MouseEvent e){
l1.setText("鼠标按钮松开 ");
}
public void mouseEntered(MouseEvent e){
l1.setText("鼠标进入窗口");
}
public void mouseExited(MouseEvent e){
l1.setText("鼠标不在窗口");
}
}
class mmLis extends MouseMotionAdapter{
public void mouseMoved(MouseEvent e){
int x=e.getX();
int y=e.getY();
tx.setText(String.valueOf(x));
ty.setText(String.valueOf(y));
}
public void mouseDragged(MouseEvent e){
l1.setText("拖动鼠标");
}
}
class keyLis extends KeyAdapter{
public void keyTyped(KeyEvent e){
char c=e.getKeyChar();
l2.setText("你按下的键盘键是"+c+"");
}
public void KeyPressed(KeyEvent e){
if(e.getKeyCode()==27)
System.exit(0);
}
}
public static void main(String[]args){
new Shixun5();
}
}
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
public class Shixun5 extends JFrame{
private JLabel lx,ly,l1,l2;
private JTextField tx,ty;
Container container;
public Shixun5(){
this.setTitle("实训5");
this.setSize(600, 450);
this.setVisible(true);
container=this.getContentPane();
container.setLayout(new FlowLayout());
lx=new JLabel("X坐标");
ly=new JLabel("Y坐标");
l1=new JLabel();
l2=new JLabel();
tx=new JTextField(10);
ty=new JTextField(10);
container.add(lx);
container.add(tx);
container.add(ly);
container.add(ty);
container.add(l1);
container.add(l2);
this.addMouseListener(new mLis());
this.addMouseMotionListener(new mmLis());
this.addKeyListener(new keyLis());
this.addWindowListener(new WindowAdapter(){
public void windowClosing(WindowEvent e){
System.exit(0);
}
});
}
class mLis extends MouseAdapter{
public void mouseClicked(MouseEvent e){
l1.setText("单击鼠标"+e.getClickCount()+"次");
}
public void mousePressed(MouseEvent e){
l1.setText("鼠标按钮按下 ");
}
public void mouseReleased(MouseEvent e){
l1.setText("鼠标按钮松开 ");
}
public void mouseEntered(MouseEvent e){
l1.setText("鼠标进入窗口");
}
public void mouseExited(MouseEvent e){
l1.setText("鼠标不在窗口");
}
}
class mmLis extends MouseMotionAdapter{
public void mouseMoved(MouseEvent e){
int x=e.getX();
int y=e.getY();
tx.setText(String.valueOf(x));
ty.setText(String.valueOf(y));
}
public void mouseDragged(MouseEvent e){
l1.setText("拖动鼠标");
}
}
class keyLis extends KeyAdapter{
public void keyTyped(KeyEvent e){
char c=e.getKeyChar();
l2.setText("你按下的键盘键是"+c+"");
}
public void KeyPressed(KeyEvent e){
if(e.getKeyCode()==27)
System.exit(0);
}
}
public static void main(String[]args){
new Shixun5();
}
}
...全文
相关推荐
鼠标及键盘监听实现
键盘监听:如果项目同时实现了键盘监听,那么会创建KeyListener实例,并将其添加到具有焦点的组件上。键盘事件的处理与鼠标事件类似,通过覆盖监听器的方法来响应按键事件。3.
java屏蔽鼠标右键和键盘相关事件
在这种情况下,可以考虑使用`Key Bindings`来更精确地控制键盘事件。以上代码展示了如何在Java中屏蔽鼠标右键和键盘事件。
桌面小猫咪同步敲键盘,移动鼠标
同时,为了增加趣味性和互动性,软件可能会随机生成敲击效果,使得小猫的动作看起来更自然。再者,移动鼠标的功能也是通过类似的方式实现。程序需要监听鼠标的移动事件,然后控制小猫的图像在屏幕上跟随鼠标移动。
监控鼠标键盘代码
这些库或类允许程序员监听键盘和鼠标的输入事件,然后记录或处理这些事件。可视化界面可能使用如Tkinter(Python)、Swing(Java)或React(JavaScript)等库构建。
键盘鼠标记录器
对于编程爱好者和学习者来说,分析源码能帮助他们理解如何利用编程语言(如C++, Python, Java等)来实现键盘和鼠标的监听,以及图片的生成和文本文件的写入。


Eclipse
