Java小程序祝国庆快乐

祝大家国庆节快乐

祝大家国庆节快乐

上面是用java的JFrame为基础实现的效果,下面用面向对象的思考分析并实现此效果:

1)找对象

最开始鼠标点击冲出来的白色圆点 Bullet
白色圆点爆炸成一片(包含很多小圆点)Piece
主程序类 Guoqing 继承于 JPanel
程序初始化类执行类GuoqingStart 继承于JFrame

2) 类的设计, 定义出 类属性(数据模型)

比如

白色圆点类Bullet
|-- int x x坐标
|-- int y y坐标

3) 界面绘制(利用Java Swing API 绘制界面)

4) 功能算法设计

原则: 一切功能 都是方法: 动词就是方法

实现策略: 将功能映射到数学模型, 研究数据的变化规律

比如白色圆点类Bullet与*Piece中各个小圆点的移动,其实都是坐标位置的变化

5) 事件绑定(利用Java Swing API 实现事件绑定)
比如鼠标点击监听事件

6)完整代码


import java.awt.*;
import java.awt.event.*;
import java.util.*;
import javax.swing.*;

public class GuoqingStart extends JFrame {
    Guoqing gq;
    public static void main(String[] args) {
        new GuoqingStart();
    }
    public GuoqingStart() {
        gq=new Guoqing();
        this.addMouseListener(gq);
        this.add(gq);
        new Thread(gq).start();
        this.setTitle("国庆快乐");
        this.setLocation(100, 0);
        this.setSize(1000,700);
        this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
        this.setVisible(true);
    }
}

class Guoqing extends JPanel implements MouseListener,Runnable{
    Bullet bullet;
    Vector bullets;
    static Vector pieces;
    int times=1;
    public Guoqing() {
        bullets=new Vector();
        pieces=new Vector();
    }
    public void paint(Graphics g) {
        super.paint(g);
        times++;
        g.setColor(Color.black);
        g.fillRect(0, 0, 2000, 1000);
        g.setColor(Color.lightGray);
        for(int i=0;i

你可能感兴趣的:(Java小程序祝国庆快乐)