responsetokeypanel1.java

来自「Java语言」· Java 代码 · 共 67 行

JAVA
67
字号
import java.awt.*;
import java.awt.event.*;
public class ResponseToKeyPanel1 extends Frame implements KeyListener{
	String keyName="";
	char ch;
	int code;
	Color clr;
	MyPanel c; 
	public ResponseToKeyPanel1(String s){
		super(s);
		c=new MyPanel();
		addWindowListener(new WindowAdapter(){
			public void windowClosing(WindowEvent e){
				dispose();
				System.exit(0);	
			}	
		});
		add(c);
		c.addKeyListener(this);
		c.requestFocus();	
		setSize(302,302);
		show();
	}
	public void keyPressed(KeyEvent e){}
	public void keyReleased(KeyEvent e){
		ch=e.getKeyChar();
		code=e.getKeyCode();
		c.setBackground(clr);
		validate();	

	}
	public void keyTyped(KeyEvent e){
		if(e.getKeyChar()=='r'||e.getKeyChar()=='R')
			clr=Color.red;
		else if(e.getKeyChar()=='g'||e.getKeyChar()=='G')
			clr=Color.green;
		else if(e.getKeyChar()=='b'||e.getKeyChar()=='B')
			clr=Color.blue;
		else
			clr=null;

	}
	public static void main(String args[]){
		new ResponseToKeyPanel1("TestCanvas");	
	}
	class MyPanel extends Panel{
	   Toolkit tk;
	   Image img;
	   MyPanel(){
	      setSize(200,200);
	      setBackground(Color.white);
	 //     tk=getToolkit();
	 //     img=tk.getImage("A1.JPG");
	   }  
	   public void paint(Graphics g){
	 //     g.drawImage(img,20,20,160,160,this);
	 //		g.drawString("This is a test String!",20,20);
			g.drawString("健的名称:"+KeyEvent.getKeyText(code),20,20);
			g.drawString("健代表的字符:"+ch,20,40);
			g.drawString("健的编码值:"+code,20,60);
			g.drawString("VK_UNDEFINED:"+KeyEvent.VK_UNDEFINED,20,80);
			g.drawString("CHAR_UNDEFINED:"+KeyEvent.CHAR_UNDEFINED,20,100);	
	   }
}

}

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?