AreaTexto_1.java_



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

public class AreaTexto_1 extends Applet
{
	// Creaciòn de los objetos
	TextField TFLineas, TFLinea;
	Button BLineas, BLinea;
	TextArea TAContenido;
	TextField TF[];
	boolean NLineas = false;
	int N;

	public void init()
	{
		setLayout(null);	// Fijar al contenedor
		// Inicializaciòn de los componentes
		TFLineas = new TextField();
		TFLinea  = new TextField();
		BLineas  = new Button("Aceptar");
		BLinea   = new Button("V");
		TAContenido = new TextArea(50, 60);
		Label LLineas = new Label("N");
		Label LLinea  = new Label("Inserta Lineas");
		
		// Añadir componentes
		add(TFLineas); add(TFLinea); add(BLineas); add(BLinea);
		add(TAContenido); add(LLineas); add(LLinea);
		
		// Posicionamiento de los componentes
		LLineas.setBounds(10, 10, 50, 30);
		TFLineas.setBounds(10, 50, 50, 30);
		BLineas.setBounds(10, 90, 80, 30);
		
		LLinea.setBounds(100, 10, 200, 30);
		TFLinea.setBounds(100, 50, 200, 40);
		BLinea.setBounds(170, 100, 20, 20);
		
		TAContenido.setBounds(100, 130, 200, 300);
		
		// Captura de los eventos
		BLinea.addActionListener(new EVENTOS()) ;
		BLineas.addActionListener(new EVENTOS()) ;
	}
	
	class EVENTOS implements ActionListener
	{
		String CAD_NUEVA = "";
		public void actionPerformed(ActionEvent e)
		{
			String CAD = e.getActionCommand();
			int y;
			
			CAD_NUEVA = "";
			if (CAD.equals("V"))
			{
				if (!NLineas)
				{
					if (TFLinea.getText().length() > 0)
					{
						CAD_NUEVA += TAContenido.getText() + "\n" + TFLinea.getText();
						TAContenido.setText(CAD_NUEVA);
						TFLinea.setText("");
						NLineas = false;
					}
				}
				else
				{
					CAD_NUEVA += TAContenido.getText();
					for (int k = 0; k < N; k++)
					{
						CAD_NUEVA +=  "\n" + TF[k].getText();
						TF[k].setVisible(false);
					}
					TAContenido.setText(CAD_NUEVA);
					NLineas = false;
				}
			}
			else
			{
				N  = Integer.parseInt(TFLineas.getText());
				TF = new TextField[N];
				y = 130;

				for (int k = 0; k < N; k++)
				{
					TF[k] = new TextField();
					add(TF[k]);
					TF[k].setBounds(10, y, 50, 30);
					y += 35;
				}
				NLineas = true;
			}
		}
	}
}