Public feed #380280

Stuff

public text v1 · immutable
Raw Edit
·published 2007-03-03 22:46 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 ();

        /* 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!");
        }
    }
}