读书人

Jpanel 作图界面 刷新

发布时间: 2012-11-05 09:35:12 作者: rapoo

Jpanel 绘制界面 刷新

/*

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();
??}
??
?}

读书人网 >编程

热点推荐