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();
			}
		}
	}

}
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(); } } } }
经验分享 程序员 微信小程序 职场和发展