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

📄 table.java

📁 200多个自己编的java程序,大家可以学一下.
💻 JAVA
字号:

import java.awt.*;
import java.awt.event.*;

public class Table extends Frame implements ActionListener
{
	private Button quit=new Button("Quit");
	private Button start=new Button("Start");
	private Button stop=new Button("Stop");
    
    
    private Marble marbles[]=new Marble[20];
    
    public Table()
    {
    	super("Table with marble");
    	setLayout(new FlowLayout());
    	add(quit);
    	quit.addActionListener(this);
    	add(start);
    	start.addActionListener(this);
    	add(stop);
    	stop.addActionListener(this);
    	validate();
    	setSize(300,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 e)
    {
    	if(e.getSource()==stop)
    	for(int i=0;i<marbles.length;i++)
    	marbles[i].halt();
    	if(e.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(e.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) {
		// TODO: Add your code here
		Table ta=new Table();
	}
    
    

}

 class Marble extends Thread
{
	public int i=0;
	private int xdir=2*(1-2*(int)Math.round(Math.random()));
	private int ydir=2*(1-2*(int)Math.round(Math.random()));
 
    private boolean running=false;
    private Table table=null;
    protected int x,y;


	public Marble(Table _table,int _x,int _y) {
		table=_table;
		x=_x;
		y=_y;
		
	 start();
	}
	public void start()
	{
		running=true;
		super.start();
	}
	public void halt()
	{
		running=false;
	}
	public void run()
	{
		while(running)
		{
			move();
			try{
				sleep(50);
				
			}
			catch(InterruptedException ie)
			{
				System.err.println("Thread interrupted");
			}
			table.repaint();
		}
	}
    private void move()
    {
    	x+=xdir;
    	y+=ydir;
    	if((x>table.getSize().width)||(x<0))
    	xdir*=-1;
    	if((y>table.getSize().width)||(y<0))
    	ydir*=-1;
    }
    public void draw(Graphics g)
    {
    	
    	if(i%10==0)
    	{
    	
    	g.setColor(Color.RED);
    	g.fillOval(x,y,20,20);
    	   i++;
         }  
         else
         {
         	g.setColor(Color.blue);
         	g.fillOval(x,y,20,20);
         	i++;
         	
         }
           
    }
    
    
    




}

⌨️ 快捷键说明

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