table.java

来自「java编程开发技巧与实例的编译测试通过的所有例程」· Java 代码 · 共 72 行

JAVA
72
字号
import java.awt.*;
import java.awt.Graphics;
import java.awt.GridLayout;
import java.awt.FlowLayout;
import java.awt.BorderLayout;
import java.awt.event.*;
import javax.swing.*;
import javax.swing.border.TitledBorder;

public class Table extends JFrame implements ActionListener
{
	private JButton quit		=	new JButton("Quit");
	private JButton start		=	new JButton("Start");
	private JButton stop		=	new JButton("Stop");
	private Marble marbles[]	=	new Marble[500];
	public Table()
	{
		super("Table with Marbles");
		//JPanel genPanel	=	new JPanel(new GridLayout(2, 2));
		JPanel genPanel	=	new JPanel(new FlowLayout());
		//JPanel genPanel	=	new JPanel(new BorderLayout());
		genPanel.add(quit);
		quit.addActionListener(this);
		genPanel.add(start);
		start.addActionListener(this);
		genPanel.add(stop);
		stop.addActionListener(this);
		genPanel.setBorder(new TitledBorder("Table ball: "));
		getContentPane().add("Center", genPanel);
		//setLayout(new FlowLayout());
		//add(quit);
		//quit.addActionListener(this);
		//add(start);
		//start.addActionListener(this);
		//add(stop);
		//stop.addActionListener(this);
		validate();
		setSize(700, 300);
		setVisible(true);
		for (int i = 0; i < marbles.length; i ++)
		{
			int x = (int)(getSize().width * Math.random());
			int y = (int)(getSize().width * Math.random());
			marbles[i] = new Marble(this, x, y);
		}
	}
	public void actionPerformed(ActionEvent ae)
	{
		if (ae.getSource() == stop)
			for (int i = 0; i < marbles.length; i ++)
				marbles[i].halt();
		if (ae.getSource() == start)
			for (int i = 0; i < marbles.length; i ++)
				{
					marbles[i].halt();
					marbles[i] = new Marble(this, marbles[i].x, marbles[i].y);
				}
		if (ae.getSource() == quit)
			System.exit(0);
	}
	public void paint(Graphics g)
	{
		for (int i = 0; i < marbles.length; i ++)
			if (marbles[i] != null)
				marbles[i].draw(g);
	}
	public static void main(String args[])
	{
		Table table = new Table();
	}
}

⌨️ 快捷键说明

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