📄 exercise12_7.java
字号:
import javax.swing.*;
import java.awt.*;
import java.awt.event.*;
public class Exercise12_7 extends JFrame {
private DrawMaze mazePanel = new DrawMaze();
public Exercise12_7() {
// Add the keyboard panel to accept and display user input
getContentPane().add(mazePanel);
// Set focus
mazePanel.setFocusable(true);
}
public static void main(String[] args) {
Exercise12_7 frame = new Exercise12_7();
frame.setTitle("Exercise12_7");
frame.setSize(350, 150);
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.setVisible(true);
}
}
class DrawMaze extends JPanel implements KeyListener {
int x, y, previousX, previousY;
public DrawMaze() {
addKeyListener(this); // Register listener
}
public void keyReleased(KeyEvent e) {
}
public void keyTyped(KeyEvent e) {
}
public void keyPressed(KeyEvent e) {
switch (e.getKeyCode()) {
case KeyEvent.VK_DOWN:
previousY = y;
previousX = x;
y += 10;
break;
case KeyEvent.VK_UP:
previousY = y;
previousX = x;
y -= 10;
break;
case KeyEvent.VK_LEFT:
previousX = x;
previousY = y;
x -= 10;
break;
case KeyEvent.VK_RIGHT:
previousX = x;
previousY = y;
x += 10;
}
repaint();
}
boolean firstTime = true;
/** Draw the character */
protected void paintComponent(Graphics g) {
if (firstTime) {
x = previousX = getWidth() / 2;
y = previousY = getHeight() / 2;
firstTime = false;
}
g.drawLine(previousX, previousY, x, y);
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -