Este programa genera números aleatorios y los imprime en un área de texto en lugar de en la consola cuando se presiona un botón. Se crea un botón, un área de texto y un panel de desplazamiento para el área de texto. Al presionar el botón, se genera un número aleatorio y se agrega al área de texto con salto de línea. El programa establece el título de la ventana, su posición, tamaño y comportamiento de cierre, y agrega los componentes al contenedor principal.
1. /**<br /> * Archivo: ejercicio.java<br /> * Autor: Julian Andres Santos<br /> * Fecha de creacion: 5/7/2010<br /> * Fecah ultima de modificacion: 5/7/2010<br /> * Version: 0.1<br /> * Email: julianelsanto-90@hotmail.com<br /> */<br /> <br /> /*<br /> * El programa nos imprime numeros aleatorios, pero ahora tenemos un JTextArea, y el boton que imprime<br /> * el número ya no lo hace en consola sino en el JTextArea.<br /> */<br />import javax.swing.*; //Conjunto de componentes gráficos.<br />import java.awt.event.*;//Provee de eventos activados por los componentes Swing.<br />/**<br /> * Igual que Ventanita4, pero ahora le agregamos un JScrollPane al area de texto,<br /> * y modificamos sus propiedades para que no sea editable<br /> */<br />public class ejercicio extends JFrame implements ActionListener // clase ActionListener permite escuchar para recibir eventos de acción (botones)<br />{<br /> public static void main(String[] args)<br /> {<br /> // Creo un nuevo objeto de ventana y lo hago visible<br /> new ejercicio().setVisible(true);<br /> System.out.println(quot;
En este punto termina el main, pero la ventana aun es visiblequot;
); //imprime el mensaje<br /> }<br /> public ejercicio()<br /> {<br /> // Coloco el titulo<br /> setTitle(quot;
Aleatorios !!quot;
);<br /> // Indico la posicion de la ventana, y sus dimensiones<br /> setBounds(100,100,500,500);<br /> // no maximiza la ventana.<br /> setResizable(false);<br /> // Esta linea le dice a la ventana que cuando se de click en la X de la<br /> // ventana, se salga de la aplicacion<br /> setDefaultCloseOperation(EXIT_ON_CLOSE);<br /> // Indico como deben organizarse los elementos graficos (botones, areas de texto, etc)<br /> // dentro de la ventana. Esto se hace mediante el Layout<br /> getContentPane().setLayout(null);<br /> // Configuro y agrego el boton al contenedor principal de la ventana<br /> botonImprimir.setBounds(150,420,200,20);<br /> getContentPane().add(botonImprimir);<br /> // Añado un listener al botón<br /> botonImprimir.addActionListener(this);<br /> <br /> // Ahora en vez de añadir el JTextArea, añado el JSCrollPane (barra).' y se lo agrego al<br /> // contenedor principal de la ventana.<br /> panelDesplazable.setBounds(50,50,400,340); // dimensiones y posicion del JSCrollPane.<br /> getContentPane().add(panelDesplazable);<br /> //Para que no editen la informacion que sale en pantalla, le deshabilito esa propiedad<br /> areaTexto.setEditable(false);<br /> }<br /> public void actionPerformed(ActionEvent ae)<br /> {<br /> int numeroAleatorio = (int)(Math.random()*100+1);<br /> // Ahora imprimo en el area de texto y no en consola<br /> areaTexto.append(quot;
El numero aleatorio es: quot;
+numeroAleatorio+quot;
quot;
);<br /> }<br /> JButton botonImprimir = new JButton(quot;
Imprimir numero aleatorioquot;
); // se crea un boton<br /> JTextArea areaTexto = new JTextArea(); //se crea un area de texto<br /> JScrollPane panelDesplazable = new JScrollPane(areaTexto); // la barrera que se desplaza verticalmente.<br />}<br />