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 + -
显示快捷键?