All pastes #239953 Raw Edit

Stuff

public text v1 · immutable
·published 2006-11-05 15:36 UTC
rendered paste body
package life;

import javax.swing.*;
import java.awt.*;
import java.awt.event.*;

public class view {
	
	private static void lifeView(int size) {
		int x,y;
		JFrame life = new JFrame();
		
		
		JLabel stages = new JLabel("0", SwingConstants.CENTER);
		JSlider slide = new JSlider(JSlider.VERTICAL, 1, 10,1);
		JButton clear = new JButton("Clear");
		JButton step = new JButton("Step");
		JButton run = new JButton("Run");
		JButton stop = new JButton("Stop");
		Box buttons = new Box(BoxLayout.X_AXIS);
		JPanel cells = new JPanel(new GridLayout(size,size));
		
		cell [][] grid = new cell[size][size];
		for(x = 0; x < size;x++){
			for(y = 0; y < size; y++){
				grid[x][y]=new cell();
				cells.add(grid[x][y]);
			}
		}
		
		
		buttons.add(clear,0);
		buttons.add(step,1);
		buttons.add(run,2);
		buttons.add(stop,3);
		
		
		slide.setMajorTickSpacing(2);
		slide.setMinorTickSpacing(1);
		slide.setPaintTicks(true);
		slide.setPaintLabels(true);
		slide.setBorder(
				BorderFactory.createEmptyBorder(0,0,10,0));
		
		
		life.setSize(400,400);
		Container contentPane = life.getContentPane();
		
		contentPane.add(stages, BorderLayout.NORTH);
		contentPane.add(slide,BorderLayout.EAST);
		contentPane.add(buttons,BorderLayout.SOUTH);
		contentPane.add(cells, BorderLayout.CENTER);
	
		
		life.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
		life.setVisible(true);
		
		ButtonListener listen = new ButtonListener();
		stop.addActionListener(listen);
		
			
	}
	
	static class ButtonListener implements ActionListener {
		

		public void actionPerformed(ActionEvent e) {
			JButton current = (JButton)e.getSource();
			String label = current.getLabel();
			
			if (label.equals("Stop")){
				System.exit(0);
			}
		}
		
	}
	
	public static void main(final String [] args){
		SwingUtilities.invokeLater(new Runnable() {
			public void run() {
				if (args.length > 0){
					try {		
						lifeView(Integer.parseInt(args[0]));
					} catch (NumberFormatException exceptNum) {
						System.err.println("The first parameter should be a number");
						System.exit(0);
					}
				}
				else{
					lifeView(40);}
				
				}
		});
	}
	
	static class CellMouseAdapter extends MouseAdapter{
		public void mouseClicked(MouseEvent event){
			Color col;
			if(SwingUtilities.isLeftMouseButton(event)) {
				col = Color.red;
			}
			else if(SwingUtilities.isRightMouseButton(event)){
				col = Color.green;
			}
			else if(SwingUtilities.isMiddleMouseButton(event)){
				col = Color.gray;
			}
			
		}
	}
}



package life;

import javax.swing.*;
import java.awt.*;
import java.awt.event.*;

public class cell extends JLabel{

	public cell(){
		super(" ");
		super.setBackground(Color.gray);
		super.setOpaque(true);
		super.setBorder(BorderFactory.createLineBorder(Color.blue,1));
		CellMouseAdapter mouseListener = new CellMouseAdapter();
	}
	
	public void setColor(Color col){
		super.setBackground(col);
	}
	 


	
}