Public feed #380262

rake

public text v1 · immutable
Raw Edit
·published 2007-03-03 22:32 UTC
rendered paste body
import java.awt.*; 
import java.awt.event.*; 
import java.util.EventListener;
import javax.swing.*;

public class ui extends JFrame implements ActionListener{
	
	// panels
	JPanel panel = new JPanel(); 
	
	// labels
	JLabel lTrain = new JLabel("Enter value to train: ");
	
	// fields
	JTextField tTrainValue = new JTextField ("", 5); // constrain length
	
	// buttons
	JButton bTrain = new JButton("Train");
	JButton bClear = new JButton("Clear");
	JButton bCalculate = new JButton("Calculate");
	
	// image canvas
	protected ImageCanvas canvas; 
	protected EventListener listener;
	
	public ui(){
		super("Science Fair 2007"); setBounds(100,100,700,500);
		setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);	setVisible(true);		
		Container mainContainer = this.getContentPane();
		mainContainer.add(panel);
	    
		/* TODO: hotkeys:   mybutton.setMnemonic('P'); // P is key */
	    
		panel.add(lTrain);
		panel.add(tTrainValue);
		panel.add(bTrain);
		panel.add(bClear);
		panel.add(bCalculate);
		tTrainValue.requestFocus();
		bTrain.addActionListener(this);
		bClear.addActionListener(this);
		bCalculate.addActionListener(this);

		// Canvas

		JFrame frame = new JFrame();
		frame.setSize(30,30);
		frame.setBackground(Color.white);
		frame.getContentPane().setLayout(new BorderLayout());
		frame.getContentPane().add(makeCanvas(), BorderLayout.CENTER);
		panel.add(frame);
	}
	
	protected EventListener makeCanvasListener(ImageCanvas canvas) {
		return new ImageCanvasListener(canvas); 
	}
	
	protected Component makeCanvas() {
		canvas = new ImageCanvas(); 
		canvas.setBackground(Color.white); 
		listener = makeCanvasListener(canvas);     
		canvas.addMouseListener((MouseListener) listener); 
		canvas.addMouseMotionListener((MouseMotionListener) listener); 
		return canvas;
	}
	
	public void actionPerformed(ActionEvent event)
	{
		Object source = event.getSource();
		if (source == bTrain) 
		{
			tTrainValue.setText("You pressed this!");
		}
	}	
}