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 (); /* 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 panel.setLayout (new BorderLayout ()); panel.add (makeCanvas (), BorderLayout.CENTER); mainContainer.add (panel); } 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!"); } } }