package firstpack; import java.awt.*; public class MyStar { public static void main(String[] args) { Frame w = new Frame(); w.setSize(800, 700); w.setBackground(Color.black); MyPanel mp = new MyPanel(); w.add(mp); Thread t = new Thread(mp); t.start(); w.setVisible(true); } } class MyPanel extends Panel implements Runnable { int x = 30; int y = 30; int att = 0;//0表示右下,1表示左下,2表示左上,3表示右上 public void paint(Graphics g) { g.setColor(Color.red); g.fillOval(x, y, 20, 20); } public void run() { while(true) { //定义飞行姿态 if(att == 0) { x++; y++; } if(att == 1) { x--; y++; } if(att == 2) { x--; y--; } if(att == 3) { x++; y--; } //改变飞行姿态 if(x > 760) { if(att == 0) { att = 1; }else { att = 2; } } if(y > 670) { if(att == 1) { att = 2; }else { att = 3; } } if(x < 20) { if(att == 2) { att = 3; }else { att = 0; } } if (y < 20) { if(att == 3) { att = 0; }else { att = 1; } } try { Thread.sleep(5); }catch(Exception e) { } repaint();//重画 } } }