天天看點

JAVA用畫闆JFrame畫布JPanel畫筆Graphics畫漫天不停的跑的星星-1

更改版本之後為JFrame+JPanel

二話不說,直接上碼,這是本人JAVA基礎教學案例,簡單而又不失炫酷。實作效果圖如下

JAVA用畫闆JFrame畫布JPanel畫筆Graphics畫漫天不停的跑的星星-1

/**
     * @author-程前
     * @version-star1.2.1
     * @note-畫一百個*,然後通過repaint()不停的重畫,造成炫酷的效果
     * */
    public class Star1 {
        public static void main(String[] args) {
            //執行個體化畫闆
            JFrame f=new JFrame();
            //設定畫闆大小
            f.setSize(1400,900);
            //執行個體化畫布
            Mypanl p=new Mypanl();
            p.setBackground(Color.BLACK);
            //将畫布放到畫闆上
            f.add(p);
            //展示畫闆
            f.setVisible(true);
        }
        static class Mypanl extends JPanel{
            /*
             * 重寫畫布的繪畫方法,裡面有一個畫筆參數*/
            @Override
            public void paint(Graphics g) {
                super.paint(g);
                //設定畫筆顔色
                g.setColor(Color.WHITE);
                //設定畫筆大小
                g.setFont(new Font(null, 0,50));
                //循環花100個星星
                for (int i = 0; i <100; i++) {
                    g.drawString("*",(int)(Math.random()*1400),(int)(Math.random()*1400));
                }
                //線程等待100毫秒後重畫
                try {
                    Thread.sleep(100);
                } catch (InterruptedException e) {
                    e.printStackTrace();
                }
                repaint();
            }
​
        }
    }
           

有興趣的檢視更新版星星,連結如下:

JAVA用畫闆JFrame畫布Panel畫筆Graphics畫100個星星可以任意拖拽-2

JAVA用畫闆JFrame畫布Panel畫筆Graphics畫一個星星,顯示拖動的痕迹-3

JAVA用畫闆JFrame畫布Panel畫筆Graphics畫100個星星可以任意拖拽,可以按上下左右控制字或者月亮的移動,shift控制移動字還是月亮-end版