java键盘事件
答案:2 悬赏:40 手机版
解决时间 2021-02-23 18:46
- 提问者网友:火车头
- 2021-02-22 21:18
import java.awt.*;import java.awt.event.*;class MyPanel extends Panel{ String msg="Pressed Key:"; public MyPanel(){ MyKeyAdapter bAction=new MyKeyAdapter(); bAction.addKeyListener(bAction); } public void paint(Graphics g){ g.setFont(new Font("宋体",Font.BOLD,24)); g.drawString(msg,20,50); } private class MyKeyAdapter extends KeyAdapter{ public void keyPressed(KeyEvent kevent){ int keycode=kevent.getKeyCode(); msg="Pressed Key:"+keycode+"char:"+(char)keycode; repaint(); } public void keyReleased(KeyEvent kevent){ setBackground(Color.red);repaint(); } public void keyTyped(KeyEvent kevent){ if(kevent.getKeyChar()='x') System.out.exit(0); }}}public class keytest1{ public static void main(String[] args){ Frame myframe=new Frame("键盘测试"); MyPanel mypanel=new MyPanel(); myframe.add(mypanel,BorderLayout.NORTH); myframe.addWindowListener(new WindowDestroyer()); myframe.setSize(300,300); myframe.show(); } } // 麻烦高手改对.详细一点啊
最佳答案
- 五星知识达人网友:我住北渡口
- 2021-02-22 22:26
没大看懂你的意思,如果是需要监听键盘的输入、删除的话可以这样:
JTextField myjtf=new JTextField(30);
myjtf.getDocument().addDocumentListener(new javax.swing.event.DocumentListener(){
public void changedUpdate(DocumentEvent e) {//这是更改操作的处理
String aaa =myjtf.getText().trim();//trim()方法用于去掉你可能误输入的空格号
System.out.println("1->"+aaa);
}
public void insertUpdate(DocumentEvent e) {//这是插入操作的处理
String aaa = myjtf.getText().trim();
System.out.println("2->"+aaa);
}
public void removeUpdate(DocumentEvent e) {//这是删除操作的处理
String aaa = myjtf.getText().trim();
System.out.println("3->"+aaa);
}
}
);
JTextField myjtf=new JTextField(30);
myjtf.getDocument().addDocumentListener(new javax.swing.event.DocumentListener(){
public void changedUpdate(DocumentEvent e) {//这是更改操作的处理
String aaa =myjtf.getText().trim();//trim()方法用于去掉你可能误输入的空格号
System.out.println("1->"+aaa);
}
public void insertUpdate(DocumentEvent e) {//这是插入操作的处理
String aaa = myjtf.getText().trim();
System.out.println("2->"+aaa);
}
public void removeUpdate(DocumentEvent e) {//这是删除操作的处理
String aaa = myjtf.getText().trim();
System.out.println("3->"+aaa);
}
}
);
全部回答
- 1楼网友:老鼠爱大米
- 2021-02-22 22:47
//改了很多,方法有点不同
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
public class mainpanel extends jframe
{
imageicon image;
int x = 100, y = 0;
int movey = 10;
jlabel jp;
public mainpanel()
{
setpreferredsize(new dimension(300, 300));
setsize(300,300);
image = new imageicon("src/abc.gif");
jp=new jlabel(image);
getcontentpane().add(jp);
jp.setbounds(50, 50, 90, 90);
addkeylistener(new k());
setvisible(true);
}
private class k implements keylistener
{
public void keypressed(keyevent event)
{
if(event.getkeycode()==keyevent.vk_up)
{
x = 1;
jp.setbounds(100, 100, 90, 90);
}
else if(event.getkeycode()==keyevent.vk_down)
{
x = -1;
jp.setbounds(0, 0, 90, 90);
}
}
public void keytyped(keyevent event)
{
}
public void keyreleased(keyevent event)
{
}
}
public static void main(string[] args)
{
mainpanel m=new mainpanel();
m.pack();
}
}
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯