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