Está en la página 1de 4

Ventanas en Java

Ventanas en JAVA
Las ventanas se deben crear desde la clase tipo Frame y el metodo Frame(). La metodolog
exige importar las clases que se van a utilizar. Existen dos clases fundamentales: la
tecnologia pplication !indo" #ool$it conocida por !# y la nueva tecnologia definida en el
estandar %!&'( para )ava avanzado (*+,) que exige utilizar -erencia de *frame.
Practica #1 La ventana mas elemental en tecnologia !#.
Archivo ventana1.java
.. %eccion de importacion de clases externas
import )ava.lang./0
import )ava.a"t./0
import )ava.a"t.event./0
.. %eccion creacion de la clase ventana1
public class ventana1
2
.. 3eclarar4 crear e inicializar
.. componentes4 ob)etos y variables
.. 5reamos el ob)eto de tipo Frame 6 la ventana
static Frame ventana 7 ne" Frame( )0
.. 8etodo principal del programa
public static void main (%tring args9 :)
2
.. rea de definicion de propiedades del ob)eto
ventana.set#itle ( ;8i ventanita; )0
ventana.set%ize (<==4<>=)0
ventana.set+isible (true)0
?
?
Notas
@tilizamos 5trl A B para terminar la aplicaciCn
'ota: cuando se compila y se e)ecuta este e)ercicio no tiene evento para salir o terminar4
ni siquiera cuando se presiona la , del boton salir. Day que programar el evento que
permita terminar la aplicaciCn normalmente.
Practica #2 +entana de color azul4 <== por E== 4 Fractica G<4 colocada en coordenadas
(Location) <==4 <==4 que implementa el evento close al boton , para cerrar la ventana
Archivo ventana2.java
import )ava.lang./0
import )ava.a"t./0
import )ava.a"t.event./0
public class ventana<
2
static Frame ventana 7 ne" Frame( )0
public static void main (%tring args9 :)
2
ventana.set#itle ( ;Fractica G <; )0
ventana.set%ize (<==4E==)0
ventana.set+isible (true)0
ventana.setBac$ground ()ava.a"t.5olor.blue)0
ventana.setLocation(<==4<==)0
.. gregamos el codigo a boton , para cerrar la ventana
.. 8uc-a atencion4 observe como se usan:
.. !indo"Listener4 !indo"dapter4 !indo"Event
ventana.add!indo"Listener ( ne" !indo"dapter ( ) 2
public void "indo"5losing (!indo"Event e) 2 %ystem.exit (=)0?
? )0
?
?
dariolara@hotmail.com 02/10/aa http://www.dariolara.com
1
Ventanas en Java
Notas
5uando utilizamos la tecnologia avanzada de )ava ()avax) invocamos la librera s"ing para
graficos avanzados
Practica #3 5rear una ventana en metodologia )avax y sistema de librera grafica s"ing
Hbserve que la clase que estamos creando ventanaI -ereda de *frame que es el sistema de
marcos de *+,
Archivo ventana3.java
.. +E'#' %E'5&LL FJ#&J 3E *FJ8E
import )ava.a"t./0
import )avax.s"ing./0
.. 5L%E FJ&'5&FL 3EL FJH(J8 (-ereda de *Frame)
public class ventanaI extends *Frame
2
.. 8K#H3H FJ&'5&FL 3E E'#J3 L FJH(J8
public static void main(%tring args9:)
2
.. crear y configurar la ventana llamada marco
*Frame marco 7 ne" *Frame(;+entana desde *Frame;)0
.. acciCn por defecto al cerrar la ventana: salir del programa
marco.set3efault5loseHperation(*Frame.E,&#LH'L5LH%E)0
*Fanel panel1 7 ne" *Fanel()0
.. para aMadir un panel a un *Frame
marco.get5ontentFane().add(panel1)0
.. mostrar la ventana
marco.set%ize(IE=4<E=)0 .. dimensiones
marco.setLocation(<==4<==)0 .. posiciCn
marco.setJesizable(false)0 .. no permite redimensionar el tamaMo
marco.set+isible(true)0 .. mostrarla
?
?
Practica #4 +entana que -ereda de *frame y utiliza constructor y llamada a 6 t-is.
Archivo ventana4.java
import )ava.a"t./0
import )avax.s"ing./0
.. 5L%E FJ&'5&FL 3EL FJH(J8 (-ereda de *Frame)
public class ventanaE extends *Frame
2
.. variables a nivel de clase
private *Fanel panel10
.. 8K#H3H 3E E'#J3 L FJH(J8
public static void main(%tring args9:)
2
.. 5reamos una instancia de la clase principal
ne" ventanaE()0
?
.. 8K#H3H 5H'%#J@5#HJ N@E 5JE O 8@E%#J L &'#EJFP
.. +entanaLsencilla -ereda las caractersticas de *Frame
public ventanaE()
2
./ la variable especial t-is se usa en mQtodos de instancia
/ para -acer referencia al ob)eto que contiene el mQtodo4
/ aqu equivale a *Frame /.
.. acciCn por defecto al cerrar la ventana: salir del programa
t-is.set3efault5loseHperation(*Frame.E,&#LH'L5LH%E)0
.. la ventana
t-is.set#itle(;+entana desde *Frame;)0
t-is.set%ize(IE=4 <E=)0
t-is.setLocation(<==4<==)0
dariolara@hotmail.com 02/10/aa http://www.dariolara.com
2
Ventanas en Java
t-is.setJesizable(false)0
t-is.set+isible(true)0
?
?
Practica #5: @na ventana con ob)etos (etiqueta y boton) evento salir
.. +E'#' %E'5&LL FJ#&J 3E @' *FJ8E
import )ava.a"t./0
import )ava.a"t.event./0
import )avax.s"ing./0
.. 5L%E FJ&'5&FL 3EL FJH(J8 (-ereda de *Frame)
public class ventana> extends *Frame
2
.. variables a nivel de clase
private *Fanel panel10
private *Button bt0
private *Label label0
.. 8K#H3H 3E E'#J3 L FJH(J8
public static void main(%tring args9:)
2
.. instancia de la clase principal
ne" ventana>()0
?
.. 8K#H3H 5H'%#J@5#HJ N@E 5JE O 8@E%#J L &'#EJFP
.. +entanaLsencilla -ereda las caractersticas de *Frame
public ventana>()
2
./ la variable especial t-is se usa en mQtodos de instancia
/ para -acer referencia al ob)eto que contiene al mQtodo4
/ aqu equivale a *Frame /.
.. acciCn por defecto al cerrar la ventana: salir del programa

t-is.set3efault5loseHperation(*Frame.E,&#LH'L5LH%E)0
./ panel contenido en la ventana4 BorderLayout es uno
/ de los tipos de disposiciCn de los paneles
/ tiene > zonas: 'HJ#D4 !E%#4 5E'#EJ4 E%#4 %H@#D /.
panel1 7 ne" *Fanel(ne" BorderLayout())0
.. etiqueta y botCn contenidos en el pane
.. etiqueta con texto alineado al centro en -orizontal
label 7 ne" *Label(;+entana con etiqueta y botCn;4 %"ing5onstants.5E'#EJ)0
Font letra1 7 ne" Font(;+erdana;4 Font.FL&'4 1R)0
label.setFont(letra1)0
label.setForeground(5olor.blue)0
bt 7 ne" *Button(;%alir;)0
Font letra< 7 ne" Font(;+erdana;4 Font.BHL34 1<)0
bt.setFont(letra<)0
./ asociar el botCn con una instancia de la clase 5errar
/ para configurar la acciCn al pulsar en el botCn /.
bt.addctionListener (ne" 5errar())0
./ colocar los componentes en los paneles0
/ para aMadir un componente a un *Frame es preferible
/ ventana.get5ontentFane().add(panel1)0
/ en lugar de
/ ventana.add(panel1)0 /.
t-is.get5ontentFane().add(panel1)0
panel1.add(label4 BorderLayout.5E'#EJ)0
panel1.add(bt4 BorderLayout.%H@#D)0
.. la ventana
t-is.set#itle(;+entana desde *Frame;)0
t-is.set%ize(IE=4<E=)0
t-is.setLocation(<==4<==)0
dariolara@hotmail.com 02/10/aa http://www.dariolara.com
3
Ventanas en Java
t-is.setJesizable(false)0
t-is.set+isible(true)0
?
..5EJJJ EL FJH(J8 L F@L%J EL BH#S' bt
..el botCn bt se asocia con una instancia de la clase 5errar
..en la clase 5errar estTn definidos el evento y la acciCn que se va a realizar
class 5errar implements ctionListener 2
public void actionFerformed(ctionEvent evt) 2
%ystem.exit(=)0 ?
?
?
Practicas propuestas
1. 5ree una ventana sencilla en tecnologia !#4 de I>= x E== de color verde y colocada
en >=4 >=
<. gregue botones y etiquetas a una ventana en tecnologia %!&'(4 cambiando color4 tamaMo4
ubicaciCn en la pantalla4 etc.
I. &nvestigar otros eventos y aplicarlos
dariolara@hotmail.com 02/10/aa http://www.dariolara.com
4

También podría gustarte