额一个东西

简介: JFare 窗口JPanel 画布

先放代码 啦啦啦

比较白,我就按我理解的来啦!

一个小球!!!

publicclassOneBall {
publicstaticvoidmain(String[] args) {
BallJFramep=newBallJFrame();
}

ball 类 球类,定义了一个球的大小,颜色,坐标等等等等;

importjava.awt.*;
publicclassBall {
intx;  //球的x坐标inty;  //球的y坐标Colorballcolor;  //球的颜色intd; //球的大小intdir; //有且仅有1, 2,3 ,4 四个固定的数值 1-左上,2-左下,3-右上,4-右下intspeed; //球的速度//定义球的四个运动方向(int  d)publicstaticfinalintLEFT_UP=1;
publicstaticfinalintLEFT_DOWN=2;
publicstaticfinalintRIGHT_UP=3;
publicstaticfinalintRIGHT_DOWN=4;
//使用构造方法完成小球的初始化设置(出厂设置)publicBall(){
this.x=100; //球的初始x坐标this.y=100; //球的初始y坐标this.d=50;  //球的初始直径this.dir=(int) (Math.random()*4)+1;   //球的初始方向    }
//行为//绘制球publicvoidpaintball(Graphicsg){
g.setColor(ballcolor);//球的颜色g.fillOval(x,y,d,d);//球的大小和位置    }
publicvoidballmove(){
intr=(int)(Math.random()*256);//球的颜色 r g bintg=(int)(Math.random()*256);
intb=(int)(Math.random()*256);
this.ballcolor=newColor(r,g,b);
//定义球在四个方向上的运动变化if (dir==RIGHT_UP){
x=x+speed;
y=y-speed;
        }
if(dir==RIGHT_DOWN){
x=x+speed;
y=y+speed;
        }
if (dir==LEFT_DOWN){
x=x-speed;
y=y+speed;
        }
if (dir==LEFT_UP){
x=x-speed;
y=y-speed;
        }
//以边为界限时,当遇见每条边的时候的运动方式//上if (y<=0){
//当球顺时针运动if (dir==RIGHT_UP)
dir=RIGHT_DOWN;
//当球逆时针运动if (dir==LEFT_UP)
dir=LEFT_DOWN;
        }
//下if (y>=500-d-30){
//顺时针if (dir==LEFT_DOWN)
dir=LEFT_UP;
//逆时针if (dir==RIGHT_DOWN)
dir=RIGHT_UP;
        }
//左if (x<=0) {
//顺时针if (dir==LEFT_UP)
dir=RIGHT_UP;
//逆时针if (dir==LEFT_DOWN)
dir=RIGHT_DOWN;
        }
//右if (x>=700-d-25){
//顺时针if (dir==RIGHT_DOWN){
dir=LEFT_DOWN;}
//逆时针if (dir==RIGHT_UP){
dir=LEFT_UP;}
        }
    }
}

窗口:

这个就好简单啦

一个窗口,窗口的大小、是否居中、关闭窗口后是否结束程序、是否要显示窗口这些。

importjavax.imageio.ImageIO;
importjavax.swing.*;
importjava.awt.image.BufferedImage;
importjava.io.File;
importjava.io.IOException;
publicclassBallJFrameextendsJFrame {
BufferedImageJFrameicon;
publicBallJFrame(){
try {
JFrameicon=ImageIO.read(newFile("start.png"));
        } catch (IOExceptione) {
e.printStackTrace();
        }
this.setIconImage(JFrameicon);  //设置窗口图标this.setTitle("小球弹弹弹");//设置窗口名称this.setSize(700,500);
this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);//设置窗口关闭进程结束//设置窗口大小不可改变this.setResizable(false);
//设置窗口初始位置居中this. setLocationRelativeTo(null);
BallJPanelballJPanel=newBallJPanel();
ballJPanel.move();
this.add(ballJPanel);
//设置窗口 - 显示/不显示this.setVisible(true);
    }
}

画布:

就好像在窗口上装了一个窗户,可以显示外面的景色

importjavax.swing.*;
importjava.awt.*;
publicclassBallJPanelextendsJPanel {
Ballball=newBall();
publicBallJPanel(){//构造方法,让画布的颜色是粉色pink色this.setBackground(Color.PINK);
    }
@Override//重构方法paint,一支笔。publicvoidpaint(Graphicsg) {
super.paint(g);
ball.paintball(g);
    }
publicvoidmove(){
//多线程,额我还白,我也不太懂。newThread(){
//1.球动publicvoidrun(){
while (true) {//写个死循环让你一直跑,哼。ball.ballmove();
try {
sleep(10);//休眠                    } catch (InterruptedExceptione) {
e.printStackTrace();
                    }
repaint();
                }
            }
        }.start();
    }
}

主要的就有这些:

我整理一下,,,,,,,


目录
相关文章
|
8月前
|
算法 索引
leetcode代码记录(买卖股票的最佳时机
leetcode代码记录(买卖股票的最佳时机
41 1
考研真题)某银行提供了 1 个服务窗口和 10 个供顾客等待时使用的座位。顾客到达银行时,若有空座位,则到取号机上领取一个号,等待叫号。取号机每次仅允许一位顾客使用。当营业员空闲时,通过叫号选取一位顾
考研真题)某银行提供了 1 个服务窗口和 10 个供顾客等待时使用的座位。顾客到达银行时,若有空座位,则到取号机上领取一个号,等待叫号。取号机每次仅允许一位顾客使用。当营业员空闲时,通过叫号选取一位顾
|
8月前
|
算法
leetcode代码记录(买卖股票的最佳时机 III
leetcode代码记录(买卖股票的最佳时机 III
42 5
|
JavaScript 小程序 Shell
🤒如果老板搞代码量统计,打工人如何自救?
“一个下午做出一个微信小程序”,“一个下午搞定业务方案”,每天写1000行代码的成绩,大家你们真的做得到吗?
344 0
🤒如果老板搞代码量统计,打工人如何自救?
|
程序员 PHP 项目管理
一个PHP程序员,想要从月薪1万元变成月薪2万元,他应该怎么做?
一个PHP程序员,想要从月薪1万元变成月薪2万元,他应该怎么做?
142 0
|
程序员 PHP 敏捷开发
一个PHP程序员,想要从月薪1万元变成月薪5万元,他应该怎么做?
一个PHP程序员,想要从月薪1万元变成月薪5万元,他应该怎么做?
149 0
|
算法 C语言
假币问题:有n枚硬币,其中有一枚是假币,已知假币的重量较轻。现只有一个天平,要求用尽量少的比较次数找出这枚假币。
(2)当n为奇数时,将前后两部分,即1…n,放在天平的两端,较轻的一端里有假币,继续在较轻的这部分硬币中用同样的方法找出假币;若两端重量相等,则中间的硬币,即第 (n+1)/2枚硬币是假币。n,放在天平的两端,较轻的一端里有假币,继续在较轻的这部分硬币中用同样的方法找出假币;假币问题:有n枚硬币,其中有一枚是假币,已知假币的重量较轻。:因为30位偶数,所以至少要被分一次,然后成为奇数之后,那个假币就是奇数的中位数,所以只需要2次。若输入的硬币数为30,则最少的比较次数为(2),最多的比价次数为(4)。
584 0
|
ice
买卖股票的最优时机含手续费(LeetCode-714)
买卖股票的最优时机含手续费(LeetCode-714)
93 0
|
人工智能 BI
L3-001 凑零钱 (30 分)
L3-001 凑零钱 (30 分)
162 0
|
搜索推荐 UED
网站订单少?学会五步,线上销售效果翻倍!
营销型网站对消费类企业十分重要。建设营销型网站,就是要明确网站的营销职能,以营销为核心目标来进行网站建设运营,目标是获得销售线索或直接获得订单。营销型网站应该具有以下五大特征:1、体验好;2、有流量;3、能成交;4、集数据;5、好维护。
4854 0

热门文章

最新文章