/*
java JPanel绘制
*/
import javax.swing.*;
import java.awt.*;
public class Twoball {
public Twoball() {
JFrame f = new JFrame();
f.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
MyPanel mp=new MyPanel();
f.setContentPane(mp);
mp.start();
mp.setBackground(Color.white);
f.setSize(new Dimension(100, 200));
f.setLocation(Toolkit.getDefaultToolkit().getScreenSize().width/2-50, Toolkit.getDefaultToolkit().getScreenSize().height/2-100);
f.setVisible(true);
}
public static void main(String[] args) {
Twoball b = new Twoball();
}
}
class MyPanel extends JPanel implements Runnable{
private Thread thread=new Thread(this);
private short leve=0;
MyPanel(){
this.setSize(200,200);
this.setVisible(true);
}
public void run() {
// TODO Auto-generated method stub
while (true) {
this.repaint();
try {
thread.sleep(1000*2);
leve++;
System.out.println(leve);
if(leve==5)leve=1;
} catch (InterruptedException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}}
}
public void start(){
thread.start();
}
@Override
protected void paintComponent(Graphics g) {
g.setColor(Color.red);
g.clearRect(0, 0, this.getWidth(), this.getHeight());
if(leve==1){
g.fillRect(35, 56, 20, 15);
g.fillRect(20, 74, 50, 15);
}else if(leve==2){
g.fillRect(35, 38, 20, 15);
g.fillRect(20, 56, 50, 15);
g.fillRect(20, 74, 50, 15);
}else if(leve==3){
g.fillRect(35, 20, 20, 15);
g.fillRect(20, 38, 50, 15);
g.fillRect(20, 56, 50, 15);
g.fillRect(20, 74, 50, 15);
}else if(leve==4){
g.fillRect(35, 2, 20, 15);
g.fillRect(20, 20, 50, 15);
g.fillRect(20, 38, 50, 15);
g.fillRect(20, 56, 50, 15);
g.fillRect(20, 74, 50, 15);
}
this.updateUI();
}
}