package Unit16;
import java.awt.Graphics;
import java.awt.event.KeyAdapter;
import java.awt.event.KeyEvent;
import javax.swing.JFrame;
import javax.swing.JPanel;
public class Exercise16_9 extends JFrame {
private Exercise16_9Panel panel = new Exercise16_9Panel();
public Exercise16_9() {
add(panel);
panel.setFocusable(true);
}
public static void main(String[] args) {
Exercise16_9 frame = new Exercise16_9();
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.setSize(300,200);
frame.setTitle("Exercise16_9");
frame.setLocationRelativeTo(null);
frame.setVisible(true);
}
}
class Exercise16_9Panel extends JPanel {
private int x1 = 150;
private int y1 = 100;
private int x2 = x1;
private int y2 = y1;
public Exercise16_9Panel() {
addKeyListener(new KeyAdapter(){
public void keyPressed(KeyEvent e) {
x2 = x1;
y2 = y1;
switch(e.getKeyCode()){
case KeyEvent.VK_DOWN: y1 += 10;break;
case KeyEvent.VK_UP: y1 -= 10;break;
case KeyEvent.VK_LEFT: x1 -= 10;break;
case KeyEvent.VK_RIGHT: x1 += 10;break;
}
repaint();
}
});
}
protected void paintComponent(Graphics g) {
super.paintComponent(g);
g.drawLine(x2, y2, x1, y1);
}
}
import java.awt.Graphics;
import java.awt.event.KeyAdapter;
import java.awt.event.KeyEvent;
import javax.swing.JFrame;
import javax.swing.JPanel;
public class Exercise16_9 extends JFrame {
private Exercise16_9Panel panel = new Exercise16_9Panel();
public Exercise16_9() {
add(panel);
panel.setFocusable(true);
}
public static void main(String[] args) {
Exercise16_9 frame = new Exercise16_9();
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.setSize(300,200);
frame.setTitle("Exercise16_9");
frame.setLocationRelativeTo(null);
frame.setVisible(true);
}
}
class Exercise16_9Panel extends JPanel {
private int x1 = 150;
private int y1 = 100;
private int x2 = x1;
private int y2 = y1;
public Exercise16_9Panel() {
addKeyListener(new KeyAdapter(){
public void keyPressed(KeyEvent e) {
x2 = x1;
y2 = y1;
switch(e.getKeyCode()){
case KeyEvent.VK_DOWN: y1 += 10;break;
case KeyEvent.VK_UP: y1 -= 10;break;
case KeyEvent.VK_LEFT: x1 -= 10;break;
case KeyEvent.VK_RIGHT: x1 += 10;break;
}
repaint();
}
});
}
protected void paintComponent(Graphics g) {
super.paintComponent(g);
g.drawLine(x2, y2, x1, y1);
}
}











