Ciao; ho fatto questo piccolo esempio; puoi partire da questo per poi perferzionarlo tanto il resto viene di conseguenza... Ciao

codice:
import java.awt.BorderLayout;

import javax.swing.JFrame;
import javax.swing.JTextField;
import java.awt.*;
import javax.swing.JButton;
import javax.swing.JTextArea;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;

/**
 * 

Title: </p>
 *
 * 

Description: </p>
 *
 * 

Copyright: Copyright (c) 2004</p>
 *
 * 

Company: </p>
 *
 * @author not attributable
 * @version 1.0
 */
public class Test extends JFrame {
    private int[] number = new int[3];
    private int count;
    JTextField jTextField1 = new JTextField();
    JButton jButton1 = new JButton();
    JTextArea jTextArea1 = new JTextArea();
    JButton jButton2 = new JButton();

    public Test() {
        try {
            jbInit();
        } catch (Exception exception) {
            exception.printStackTrace();
        }
        this.setDefaultCloseOperation( JFrame.EXIT_ON_CLOSE );
        this.setSize(new Dimension( 450, 250 ));
        this.show();
    }

    private void jbInit() throws Exception {
        getContentPane().setLayout(null);
        jTextField1.setText("");
        jTextField1.setBounds(new Rectangle(8, 32, 122, 20));
        jButton2.setBounds(new Rectangle(37, 190, 139, 23));
        jButton2.setText("Cancella tutto");
        jButton2.addActionListener(new Test_jButton2_actionAdapter(this));
        this.getContentPane().add(jTextField1, null);
        jTextArea1.setText("");
        jTextArea1.setBounds(new Rectangle(13, 68, 268, 88));
        this.getContentPane().add(jButton1);
        this.getContentPane().add(jTextArea1);
        this.getContentPane().add(jButton2);
        jButton1.setBounds(new Rectangle(207, 32, 71, 23));
        jButton1.setText("salva");
        jButton1.addActionListener(new Test_jButton1_actionAdapter(this));
    }

    public void jButton1_actionPerformed(ActionEvent e) {

        if( this.number == null ){

            this.number = new int[3];
        }
        if( count < 3 ){
            this.number[count] = Integer.parseInt(jTextField1.getText());
            StringBuffer sb = new StringBuffer( jTextArea1.getText() );
            sb.append( "\n" );
            sb.append( String.valueOf( this.number[count] ) );
            jTextArea1.setText( sb.toString() );
            jTextField1.setText( "" );
            count++;
            System.out.println( count );
        }else{

            jTextArea1.setText( "Array ha un massimo di 3 elementi" );
        }
    }

    public void jButton2_actionPerformed(ActionEvent e) {

        jTextArea1.setText( "" );
        this.number = null;
        count = 0;
    }

    public static void main( String[] args ){

        new Test();
    }
}


class Test_jButton2_actionAdapter implements ActionListener {
    private Test adaptee;
    Test_jButton2_actionAdapter(Test adaptee) {
        this.adaptee = adaptee;
    }

    public void actionPerformed(ActionEvent e) {
        adaptee.jButton2_actionPerformed(e);
    }
}


class Test_jButton1_actionAdapter implements ActionListener {
    private Test adaptee;
    Test_jButton1_actionAdapter(Test adaptee) {
        this.adaptee = adaptee;
    }

    public void actionPerformed(ActionEvent e) {
        adaptee.jButton1_actionPerformed(e);
    }
}