java入门第四天作业之弹不出框的小球

上代码,看效果
注释还是不太熟练额。


package day04;

import java.awt.Color;
import java.awt.Graphics;

import javax.swing.JFrame;
import javax.swing.JPanel;

public class MyBall {

	public static void main(String[] args) {
		// TODO Auto-generated method stub
		JFrame frame = new JFrame("MyBall");
		frame.setSize(400, 500);
		// 设置窗体居中 显示
		// 不相对于任何组件
		frame.setLocationRelativeTo(null);
		frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
		frame.setVisible(true);
		MyPanel panel = new MyPanel();
		frame.add(panel);
		panel.run();

	}

}

class MyPanel extends JPanel {
	int x = 30;
	int y = 30;
	int z = 0;//判断是++  还是   --
	int w = 0;//判断横向移动
	public void paint(Graphics g) {
		super.paint(g);
		g.setColor(Color.BLACK);
		g.fillOval(x, y, 30, 30);
	}

	public void run() {
		while (true) {
			if (z == 0) {
				y++;
				//判断横向
				if (w == 0) {
					x ++;
					if ( x == 355) {
						w = 1;
					}
				} else if (w == 1) {
					x--;
					if (x == 0) {
						w = 0;
					}
				}
				//判断结束
				if (y == 435) {
					z = 1;
				}
			} else if (z == 1) {
				y--;
				//判断横向
				if (w == 0) {
					x++;
					if ( x== 355) {
						w = 1;
					}
				} else if (w == 1) {
					x--;
					if (x == 0) {
						w = 0;
					}
				}
				//判断结束
				if (y == 0) {
					z = 0;
				}
			}
			repaint();

			try {
				Thread.sleep(10);
			} catch (InterruptedException e) {
				// TODO Auto-generated catch block
				e.printStackTrace();
			}
		}
	}

}
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值