📄 ballframe.java
字号:
package day03.ball;
import java.awt.BorderLayout;
import java.awt.Color;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JPanel;
/**
* 显示整个界面的frame
*
* @author Administrator
*
*/
public class BallFrame extends JFrame{
private BallPanel panel;//显示小球的panel
public static final int WIDTH = 450;
public static final int HEIGHT = 350;
//所有可供选择的小球颜色
private Color[] colors = {Color.blue, Color.magenta, Color.orange, Color.red, Color.yellow, Color.pink,Color.green};
private JButton start,close;//开始按钮和关闭按钮
public BallFrame(){
panel = new BallPanel();//创建显示小球的面板
start=new JButton("Start");
close=new JButton("Close");
this.add(panel, BorderLayout.CENTER);
JPanel buttonPanel = new JPanel();
buttonPanel.add(start);
buttonPanel.add(close);
this.add(buttonPanel, BorderLayout.SOUTH);
}
/**
* 给按钮添加事件监听
*
*/
public void addEventHandler(){
start.addActionListener(new ActionListener(){
public void actionPerformed(ActionEvent evt){
addBall();
}
});
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() {
Ball b = new Ball(panel, colors[(int)(Math.random()* colors.length)]); //生成一个小球,随机选择一种颜色
//将小球加到面板中
panel.addBall(b);
//新建一个线程来控制小球
BallThread thread = new BallThread(b);
thread.start();
thread.refreshSpeed();
}
public static void main(String[] args) {
new BallFrame().showMe();
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -