⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 ballframe.java

📁 自己写的一些桌球程序
💻 JAVA
字号:
package day03.table_ball;

import java.awt.BorderLayout;
import java.awt.Color;

import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;

import java.util.HashMap;
import java.util.Iterator;
import java.util.Map;
import java.util.Set;

import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JPanel;

/**
 * 显示整个界面的frame
 * 
 * @author Administrator
 *
 */
public class BallFrame extends JFrame{
	private BallPanel panel;//显示小球的panel
	public static final int WIDTH = 800;
	public static final int HEIGHT = 500;
	//所有可供选择的小球颜色
	private Color[] colors = {Color.blue, Color.magenta, Color.orange, Color.red, Color.yellow, Color.pink,Color.green};
	public static int counter;
	private JButton start,close;//开始按钮和关闭按钮
	private Map<Ball,Thread> threads=new HashMap<Ball, Thread>();
	public static JLabel labQiu,labShow;
	
	public BallFrame(){
		panel = new BallPanel();//创建显示小球的面板
		start=new JButton("Start");
		close=new JButton("Close");
		labQiu=new JLabel();
		labShow=new JLabel();
		this.add(panel, BorderLayout.CENTER);

		JPanel buttonPanel = new JPanel();
		buttonPanel.add(labQiu);
		buttonPanel.add(start);
		buttonPanel.add(close);
		buttonPanel.add(labShow);
		this.add(buttonPanel, BorderLayout.SOUTH);
	}

	/**
	 * 给按钮添加事件监听
	 *
	 */
	public void addEventHandler(){
		start.addActionListener(new ActionListener(){  
			public void actionPerformed(ActionEvent evt){
				addBall(650,185,panel,Color.black,"0");
				counter++;
				panel.repaint();
				int txt=1;
				for(int i=5;i>0;i--){
					for(int j=0;j<i;j++){
						addBall(120+(4-i)*25,150+j*25+(4-i)*12,panel,Color.red,txt+"");  //生成一个小球,随机选择一种颜色
						counter++;
						panel.repaint();
						txt++;
					}
				}
			}
		});

		close.addActionListener(new ActionListener() {
			public void actionPerformed(ActionEvent evt) { 
				System.exit(0);
			}
		});

	}
	public void showMe(){
		addEventHandler();
		setSize(WIDTH, HEIGHT);
		setTitle("Ball Game");
		setVisible(true);
		setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
	}

	/**
	 * 该方法控制向面板中添加一个小球
	 *
	 */
	public void addBall(int x,int y,BallPanel panel,Color c,String txt)   {
		Ball b = new Ball(x,y,panel,c,txt);  //生成一个小球,随机选择一种颜色
		//将小球加到面板中
		panel.addBall(b);
		//新建一个线程来控制小球
		BallThread thread = new BallThread(b); 
		thread.start();
		threads.put(b, thread);
	}
	
	public static void main(String[] args) {
		new BallFrame().showMe();
	}
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -