// Filename: Vi.java // Purpose: To simulate vi editor movements. import java.applet.*; import java.awt.*; import java.awt.event.*; public class Vi extends Applet implements KeyListener { int height, width; int x, y; String marker = "[]"; public void init() { width = getSize().width; height = getSize().height; setBackground(Color.black); x = width / 2; y = height / 2; addKeyListener(this); } public void keyPressed(KeyEvent e) {} public void keyReleased(KeyEvent e) {} public void keyTyped(KeyEvent e) { char c = e.getKeyChar(); if(c != KeyEvent.CHAR_UNDEFINED) { if(c == 'h') {x = x - 5;} else if(c == 'j') {y = y + 5;} else if(c == 'k') {y = y - 5;} else if(c == 'l') {x = x + 5;} else {} repaint(); e.consume(); } } public void paint(Graphics g) { g.setColor(Color.green); g.drawString(marker, x, y); } }