Problema com laço no AWT podem me ajudar?

Pessoal primeiramente uma boa tarde a todos, estou estudando java e pretendo me aprofundar bastante por isso estou lendo o livro dos Deitel e desenvolvendo um sisteminha pra feira de informática da faculdade, agora na faculdade estou aprendendo awt e o professor passou um exercicio de awt e disse que irá dar a resposta na proxima aula, eu tentei fazer porém não sei como fazer olha:

Criar um frame com dois bobões (OK e Sair), um Textfield (para entrada do nome) e um list ou choice ou checkbox (para a entrada da idade). Quando for clicado no botão Ok, guardar em um array (String) o nome, e em outro array (double) a idade selecionada. Deve ser guardado até um máximo de 10 elementos. Quando ultrapassar, avisar que o ARRAY ESTÁ CHEIO.

Eu fiz toda a parte grafica porém eu não sei guardar em um array os nomes pois quando eu tento só fica gravado um elemento e não avisa que está cheio, não sei o que está acontecendo se puderem me ajudar com alguma luz eu sou novo em awt então não sei como funciona laços em awt e tals

Eu tento fazer

if( e.getActionCommand()== "OK" )
						{
							
							txa.setVisible( true );
							nome[ i ]= tx1.getText();
							idade[ i ] = li.getSelectedItem();
							txa.append("\n"+(nome[i]+ "\ntem " +idade[i]));
							System.out.print( nome[ i ] +"\n"+idade[i]+"\n");
							i+=1;
							if(i==10)
							{
								System.out.printf("cheio");
							}
						}

mas num da certo…

Segue o código inteiro :

/* Criar um frame com dois bobões (OK e Sair), um Textfield (para entrada do nome) e um list ou choice ou 
 * checkbox (para a entrada da idade).
 Quando for clicado no botão Ok, guardar em um array (String) o nome, e em outro array (double) a idade selecionada. 
Deve ser guardado até um máximo de 10 elementos. Quando ultrapassar, avisar que o ARRAY ESTÁ CHEIO.*/

import java.awt.*;
import java.awt.event.*;

public class ExercicioAwt2 extends Frame
{
	Button b1,b2;
	TextField tx1;
	TextField tx2;
	Label lId,lN,lSex;
	List li;
	TextArea txa;
	
	
	public ExercicioAwt2()
	{
		setTitle( "Cadastro de Funcionários" );
		setResizable( true );
		setSize( 470,250 );
		setLocation( 100,100 );
		setLayout( null );
		setBackground( Color.lightGray );
		
		txa = new TextArea( "Resultado",5,40,1);
		txa.setBounds(260,130,140,70);
		txa.setVisible( false );
		
		lN = new Label( "Digite o nome" );
		lN.setLocation( 20,50 );
		lN.setSize( 250,20 );
		
		lSex = new Label( "Digit o sexo" );
		lSex.setLocation( 20,100 );
		lSex.setSize( 100,20 );
		
		lId = new Label ( "Escolha a idade:" );
		lId.setSize( 100,20 );
		lId.setLocation( 20,130 );
		
		
			tx1 = new TextField( "Digite o nome" );
			tx1.setLocation( 150,50 );
			tx1.setSize( 250,20 );
	
		
		
			tx2 = new TextField( "Sexo" );
			tx2.setLocation( 150,100 );
			tx2.setSize( 250,20 );
		
		
		b1 = new Button( "OK" );
		b1.setLocation( 130,190 );
		b1.setSize( 60,20 );
		b1.setBackground( Color.cyan );
		
		b2 = new Button( "Sair" );
		b2.setLocation( 190,190 );
		b2.setSize(  60,20 );
		b2.setBackground( Color.cyan );
		
		
			li = new List( 4,false );
			li.setLocation( 150,130 );
			li.setSize( 100,50 );
			li.addItem( "18" );
			li.addItem( "19" );
			li.addItem( "20" );
			li.addItem( "21" );
		
		add( b1 );
		add( b2 );
		add( tx1 );
		add( tx2 );
		add( li );
		add( lId );
		add( lN );
		add( txa );
		add( lSex );
		
		ButtonHandler ouvidor = new ButtonHandler();
		b1.addActionListener( ouvidor );
		b2.addActionListener( ouvidor );
	}
	
	 public boolean handleEvent(Event e)
     {
        if (e.id == Event.WINDOW_DESTROY) 
           System.exit(0);                
        return (super.handleEvent(e));                                       
     }
	 
		public static void main( String arg[] )
		{
			new ExercicioAwt2().setVisible( true );
		}
		
		private class ButtonHandler implements ActionListener
		{
			public void actionPerformed( ActionEvent e )
			{
				String nome[] = new String[ 10 ];
				String idade[] = new String[ 10 ];
				int i=0;
				/*if( e.getActionCommand()== "Sair" )
				{
					System.exit(0);
				}
				else*/
					
						if( e.getActionCommand()== "OK" )
						{
							
							txa.setVisible( true );
							nome[ i ]= tx1.getText();
							idade[ i ] = li.getSelectedItem();
							txa.append("\n"+(nome[i]+ "\ntem " +idade[i]));
							System.out.print( nome[ i ] +"\n"+idade[i]+"\n");
							i+=1;
							if(i==10)
							{
								System.out.printf("cheio");
							}
						}
						
					
			
				if(e.getActionCommand()== "Sair")
				{
					for(i=0;i<10;i++)
					{
						txa.setText(nome[i]+ "\ntem " +idade[i]+" anos e é do Sexo " + tx2.getText());
					}
				}
			}
		}
}
	

Oi,

Na realidade, o seu “array” só irá estar “completo/cheio” quando i==10. E para o i ser = 10, você deverá apertar 10 vezes em “OK”.

Pelo que vi em sua codificação, você está adicionando apenas 1 index com o nome e idade.

Olha.:

nome[i]= tx1.getText(); idade[i] = li.getSelectedItem(); i+=1; // Mude para i++;

Neste caso, sua variavel ‘i’ será 1 e não 10. Não sei o que você deseja fazer com isso, mas o correto seria ficar em looping ou então apertar 10 vezes no botão “OK”.

Tchauzin!