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

📄 sketch.java

📁 Java2核心技术卷一 配套源码,看了还不错
💻 JAVA
字号:
/**
 * @version 1.20 25 Jun 1998
 * @author Cay Horstmann
 */

import java.awt.*;
import java.awt.event.*;
import javax.swing.*;

class SketchPanel extends JPanel
   implements KeyListener
{  public SketchPanel()
   {  addKeyListener(this);
   }

   public void keyPressed(KeyEvent evt)
   {  int keyCode = evt.getKeyCode();
      int d;
      if (evt.isShiftDown())
         d = 5; 
      else 
         d = 1;
      if (keyCode == KeyEvent.VK_LEFT) add(-d, 0);
      else if (keyCode == KeyEvent.VK_RIGHT) add(d, 0);
      else if (keyCode == KeyEvent.VK_UP) add(0, -d);
      else if (keyCode == KeyEvent.VK_DOWN) add(0, d);
   }
   
   public void keyReleased(KeyEvent evt)
   {}

   public void keyTyped(KeyEvent evt)
   {  char keyChar = evt.getKeyChar();
      int d;
      if (Character.isUpperCase(keyChar))
      {  d = 5; 
         keyChar = Character.toLowerCase(keyChar);
      }
      else 
         d = 1;
      if (keyChar == 'h') add(-d, 0);
      else if (keyChar == 'l') add(d, 0);
      else if (keyChar == 'k') add(0, -d);
      else if (keyChar == 'j') add(0, d);
   }

   public boolean isFocusTraversable() { return true; }

   public void add(int dx, int dy)
   {  end.x += dx;
      end.y += dy;
      Graphics g = getGraphics();
      g.drawLine(start.x, start.y, end.x, end.y);
      g.dispose();
      start.x = end.x;
      start.y = end.y;
   }  
           
   private Point start = new Point(0, 0);
   private Point end = new Point(0, 0); 
}

class SketchFrame extends JFrame
{  public SketchFrame()
   {  setTitle("Sketch");
      setSize(300, 200);
      addWindowListener(new WindowAdapter()
         {  public void windowClosing(WindowEvent e)
            {  System.exit(0);
            }
         } );

      Container contentPane = getContentPane();
      contentPane.add(new SketchPanel());
   }
}

public class Sketch
{  public static void main(String[] args)
   {  JFrame frame = new SketchFrame();
      frame.show();  
   }
}




⌨️ 快捷键说明

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