⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 keytest.java

📁 java learn PPT java learn PPT java learn PPT java learn PPT
💻 JAVA
字号:
     import java.applet.*;
     import java.awt.*;
     import java.awt.event.*;

     //这个applet让用户使用箭头键来移动一个黑色的矩形 
	 //用户还可以用'R', 'G', 'B'和'W'键来改变applet的背景色  
     //它还允许用不同的方式来终止KeyEvent
     
     public class KeyTest extends Applet implements KeyListener
     {
          // 可以移动的黑色矩形 
          private Rectangle r;

          // applet的当前背景色
          private Color backColor;
 
          // 覆盖 Applet 类的init方法 
          public void init()
          {
               r = new Rectangle(0, 0, 20, 10);

               backColor = Color.WHITE;

               addKeyListener(this);
          }

          // 在更新后的位置绘制矩形
          public void paint(Graphics g)
          {
               setBackground(backColor);
               g.fillRect(r.x, r.y, r.width, r.height);
          }

          /** 实现 KeyListener 接口中的方法 */   

          public void keyPressed(KeyEvent e) 
          {
               // 对于这个方法,用键码来产生移动
               int keyCode = e.getKeyCode();

               // 移动矩形
               if(keyCode == KeyEvent.VK_LEFT)
               {
                    r.x -= 5;
                    if(r.x < 0) r.x = 0;
                    repaint();
               }
               else if(keyCode == KeyEvent.VK_RIGHT)
               {
                    r.x += 5;
                    if(r.x > getSize().width-r.width) r.x = getSize().width-r.width;
                    repaint();
               }
               else if(keyCode == KeyEvent.VK_UP)
               {
                    r.y -= 5;
                    if(r.y < 0) r.y = 0;
                    repaint();
               }
               else if(keyCode == KeyEvent.VK_DOWN)
               {
                    r.y += 5;
                    if(r.y > getSize().height-r.height) 
                         r.y = getSize().height-r.height;
                    repaint();
               }              
          }

          public void keyReleased(KeyEvent e) 
          {
               // 什么也不做...
          }

          public void keyTyped(KeyEvent e)  
          {
               // 对于这个方法, 采用实际的键符来调用事件 
               char keyChar = e.getKeyChar();

               // 更改背景色
               switch(keyChar)
               {
                    case 'r':
                    {    
                         backColor = Color.RED;
                         repaint();
                         break;
                    } 
                    case 'g':
                    {    
                         backColor = Color.GREEN;
                         repaint();
                         break;
                    } 
                    case 'b':
                    {    
                         backColor = Color.BLUE;
                         repaint();
                         break;
                    } 
                    case 'w':
                    {
                         backColor = Color.WHITE; 
                         repaint();
                         break;
                    }
               }
          }

     }    // KeyTest

⌨️ 快捷键说明

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