一闪一闪的星星和月亮

分两个类(这里就不引入包了,太长,复制下来放到eclipse里面智能提示就能导包了)

1.主类MyStar.java,创建主窗口

public class MyStar {
    static Dimension screen = Toolkit.getDefaultToolkit().getScreenSize();

    public static void main(String[] args) {
        JFrame star = new JFrame("MyStarKey");
        MyPanel mp = new MyPanel();
        Thread th = new Thread(mp);
        th.start();
        star.setBackground(Color.black);
        star.setSize(screen);
        star.add(mp);
        star.show();
    }
}

2.设置效果和画星星月亮的panel;MyPanel.java

class MyPanel extends JPanel implements Runnable {
    static Dimension screen = Toolkit.getDefaultToolkit().getScreenSize();

    public void paint(Graphics g) {
        // super.paint(g);
        // repaint();
        g.setColor(Color.black);
        g.fillRect(0, 0, (int) screen.getWidth(), (int) screen.getHeight());
        g.setColor(Color.white);
        g.fillOval(900, 100, 150, 150);
        g.setColor(Color.black);
        g.fillOval(860, 70, 150, 150);
        g.setColor(Color.white);
        for (int i = 0; i < 400; i++) {
            g.drawString("*", (int) (Math.random() * screen.getWidth()),
                    (int) (Math.random() * screen.getHeight()));
        }

        g.setColor(Color.white);
    }

    @Override
    public void run() {
        try {
            for (int i = 0;; i++) {
                Thread.sleep(1000);
                repaint();
            }
        } catch (InterruptedException e) {
            e.printStackTrace();
        }

    }
}

这两个类可以放到一个java文件中,不然MyPanel.java的class前要加一个public

原文地址:https://www.cnblogs.com/jamsbwo/p/4100203.html