鍵盤控制小球移動
package day07;
import java.awt.Color;
import java.awt.Graphics;
import java.awt.event.KeyEvent;
import java.awt.event.KeyListener;
import javax.swing.JFrame;
import javax.swing.JPanel;
/**
* 演示鍵盤事件
*/
public class MyKeyBallDemo {
public static void main(String [] args){
//1.
JFrame frame = new JFrame();
frame.setSize(400,500);
frame.setLocationRelativeTo(null);
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
//2
MyKeyBallPanel mkbp = new MyKeyBallPanel();
frame.add(mkbp);
//添加監聽
mkbp.addKeyListener(mkbp);
frame.addKeyListener(mkbp);
frame.setVisible(true);
}
}
class MyKeyBallPanel extends JPanel implements KeyListener{
int x = 30 ;
int y = 30 ;
public void paint(Graphics g){
super.paint(g);
g.setColor(Color.blue);
g.fillOval(x, y, 30, 30);
}
//鍵盤按下
public void keyPressed(KeyEvent e) {
//獲取按下的鍵值
//char c = e.getKeyChar();
int code = e.getKeyCode();
System.out.println(code);
//判斷按下的鍵值
if(code == KeyEvent.VK_UP){
//小球往上走
y --;
}else if(code == KeyEvent.VK_DOWN){
//往下
y++;
}else if(code == KeyEvent.VK_LEFT){
//往左
x --;
}else if(code == KeyEvent.VK_RIGHT){
//往右
x ++;
}
//重繪
repaint();
}
public void keyReleased(KeyEvent e) {
// TODO Auto-generated method stub
}
public void keyTyped(KeyEvent e) {
// TODO Auto-generated method stub
}
}
作業的答案
package day07;
/**
* for循環打印各種三角形
*/
public class HomeWorkForDemo {
public static void main(String [] args){
//打印直角倒三角(左對齊)
printF(6);
//打印直角倒三角(右對齊)
printFF(6);
//打印等邊三角形
printFFF(6);
}
//直角倒三角(左對齊)
public static void printF(int len ){
for(int i=0 ;i