如何用JAVA实现按下键盘的一个按键,获取当前鼠标位置
2个回答
展开全部
推荐easyUI,其中控件应该满足你。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
import java.awt.BorderLayout;
import java.awt.MouseInfo;
import java.awt.Point;
import java.awt.event.KeyEvent;
import java.awt.event.KeyListener;
import javax.swing.JFrame;
import javax.swing.JTextField;
public class test5 {
static Point mousepoint;
static JTextField text = new JTextField();
public static void main(String arg[]){
text.addKeyListener(new KeyListener() {
@Override
public void keyTyped(KeyEvent e) {
// TODO Auto-generated method stub
}
@Override
public void keyReleased(KeyEvent e) {
// TODO Auto-generated method stub
}
@Override
public void keyPressed(KeyEvent e) {
// TODO Auto-generated method stub
if(e.getKeyCode()==KeyEvent.VK_SPACE){
mousepoint = MouseInfo.getPointerInfo().getLocation();
text.setText(""+mousepoint.x+" "+mousepoint.y);
System.out.print(""+mousepoint.x+" "+mousepoint.y+"\r\n");
}
}
});
JFrame frame = new JFrame();
frame.setLocationRelativeTo(null);
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
text.setEditable(false);
frame.add(text, BorderLayout.NORTH);
frame.pack();
frame.setVisible(true);
}
}
首先增加一个鼠标坐标的获取方法
mousepoint = MouseInfo.getPointerInfo().getLocation();
其次,增加一个键盘对应按键的监听时间
text.addKeyListener(new KeyListener()
系统会自动添加3个方法,在keyPressed,也就是键盘按下中写就OK
这个方法的缺点就是 这个监听事件必须赋予给某个对象,只有当你当前焦点是这个对象的时候才能实施键盘监听,在上面这段代码中就是给这个textfield增加监听时间。如果当你的界面中有多个控件,你的焦点处于别的控件上,那么这个监听是不会生效的
如果想做到实时让监听效果生效,无视焦点问题,那貌似只能借助非java底层自带的其他功能包
本回答被提问者和网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询