InterfacesGrficasenJava
GUIJAVA:AWT
R.U.G.A.
GUIJAVA:SWING
SWINGJFC.EstaesunaextensindeAWT.
SWING
...
otros
...
CONSTRUCCIONGUI
R.U.G.A.
CONSTRUCCIONGUI
1.Crearuncontenedorsuperioryobtenersucontenedor intermedio
JFrame
Aplicacin
JApplet
Applet
JDialog
Dialogo
R.U.G.A.
CONSTRUCCIONGUI
2.Seleccionarungestordeesquemas
Determinarcomoencajanloscomponentesdentrodeloscontenedores
1.FlowLayout:EselpredeterminadoparaJPanelcolocaloscomponentes secuencialmentedeizquierdaaderechaenelordenquesecolocaron. 2.BorderLayout:EselpredeterminadoparaJFrameyJApplet.Ordenalos componentesencincoreas:NORTH,SOUTH,EAST,WESTyCENTER. 3.GridLayout:Ordenaloscomponentesenfilasycolumnas. 4.GridBagLayout:EssimilaraGridLayoutsoloqueeltamaodecada componentepuedevariarypuedenagregarsecomponentesen cualquierorden. 5.CardLayout:ElCardLayouthacequeloscomponenterecibidosocupenel mximoespacioposible,superponiendounosaotros.Sloesvisibleuno deloscomponentes,losotrosquedandetrs.Tienemtodosparaindicar cualdeloscomponenteseselquedebequedarencimayverse. 6.BoxLayout:LaclaseBoxdeclareyproporcionamtodosestticospara crearunobjetoBoxconunesquemaBoxLayouthorizontalovertical
R.U.G.A. 6
CONSTRUCCIONGUI
2.Seleccionarungestordeesquemasparael contenedorintermedio
importjava.awt.*; importjavax.swing.*; publicclassejemploGUI{ publicstaticvoidmain(String[]args){ JFrameventana=newJFrame("Primerejemplo"); Containercont=ventana.getContentPane(); cont.setLayout(newFlowLayout()); } }
R.U.G.A.
CONSTRUCCIONGUI
3.Crearloscomponentesadecuados
importjava.awt.*; importjavax.swing.*; publicclassejemploGUI{ publicstaticvoidmain(String[]args){ JFrameventana=newJFrame("Primerejemplo"); Containercont=ventana.getContentPane(); cont.setLayout(newFlowLayout()); cont.add(newJButton("BotonA")); cont.add(newJButton("BotonB")); cont.add(newJButton("BotonC")); cont.add(newJButton("BotonD")); cont.add(newJButton("BotonE")); } }
R.U.G.A. 8
CONSTRUCCIONGUI
4.Agregarlosalcontenedorintermedio
importjava.awt.*; importjavax.swing.*; publicclassejemploGUI{ publicstaticvoidmain(String[]args){ JFrameventana=newJFrame("Primerejemplo"); Containercont=ventana.getContentPane(); cont.setLayout(newFlowLayout()); cont.add(newJButton("BotonA")); cont.add(newJButton("BotonB")); cont.add(newJButton("BotonC")); cont.add(newJButton("BotonD")); cont.add(newJButton("BotonE")); } }
R.U.G.A. 9
CONSTRUCCIONGUI
5.Dimensionarelcontenedorsuperior
importjava.awt.*; importjavax.swing.*; publicclassejemploGUI{ publicstaticvoidmain(String[]args){ JFrameventana=newJFrame("Primerejemplo"); Containercont=ventana.getContentPane(); cont.setLayout(newFlowLayout()); cont.add(newJButton("BotonA")); cont.add(newJButton("BotonB")); cont.add(newJButton("BotonC")); cont.add(newJButton("BotonD")); cont.add(newJButton("BotonE")); ventana.setSize(350,250); } }
R.U.G.A. 10
CONSTRUCCIONGUI
6.Mostrarelcontenedorsuperior
importjava.awt.*; importjavax.swing.*; publicclassejemploGUI{ publicstaticvoidmain(String[]args){ JFrameventana=newJFrame("Primerejemplo"); Containercont=ventana.getContentPane(); cont.setLayout(newFlowLayout()); cont.add(newJButton("BotonA")); cont.add(newJButton("BotonB")); cont.add(newJButton("BotonC")); cont.add(newJButton("BotonD")); cont.add(newJButton("BotonE")); ventana.setSize(350,250); ventana.setVisible(true); } }
R.U.G.A. 11
CONSTRUCCIONGUI
R.U.G.A.
12
Gestindeeventos
Lagestindeeventosesdevitalimportanciaenlosprogramasquecontienen unainterfazgrficadeusuario.Todaslasaccionesquepuedarealizarelusuario caendentrodeungransacoquesonloseventos.Uneventodescribe,con suficientedetalle,unaaccinparticulardelusuario. Todosistemaoperativoqueutilizainterfacesgrficasdeusuariodebeestar constantementemonitorizandoelentornoparacapturarytratarloseventos queseproducen.Elsistemaoperativoinformadeestoseventosalosprogramas queseestnejecutando,yentoncescadaprogramadecidequhaceparadar respuestaaesoseventos. Loseventospuedenestarproducidosporelsistemaoporelusuario.Porejemplo, pulsarunateclaomoverelratn.
R.U.G.A.
13
Gestindeeventos
Lostrescomponentesclavedeunprocesodegestindeeventosson:
R.U.G.A.
14
EventoSwing
Cadavezqueelusuarioescribeuncarcterohaceclicenunbotn,la mquinavirtualdeJava(JVM)generaunevento.Acontinuacinse incluyenalgunosejemplosdeeventosSwing:
Accinquedesembocaenelevento ElusuariopulsaunbotnoEnter mientrasescribeenuncampodetexto Elusuariocierraunmarco(ventanaprincipal) Elusuariopulsaunbotndelratn Elusuariomueveelratnsobreuncomponente Elcomponentesehacevisible Elcomponenteobtieneelfocodelteclado Laseleccindelatablaolalistacambia Tipodeoyente ActionListener WindowListener MouseListener MouseMotionListener ComponentListener FocusListener ListSelectionListener
R.U.G.A.
15
InterfazListener
UnlistenerdeeventosesunainterfazdeJavaquecontieneunacoleccinde declaracionesdemtodos.Lasclasesqueimplementanlainterfazdebendefinir estosmtodos.Acontinuacinseincluyeunalistadeeventos,listenersymtodos:
Evento WindowEvent Interfaz WindowListener Mtodos windowActivated(WindowEvente) windowDeactivated(WindowEvente) windowClosed(WindowEvente) windowClosing(WindowEvente) windowOpened(WindowEvente) windowDeiconified(WindowEvente) windowIconified(WindowEvente) actionPerformed(ActionEvente) itemStateChanged(ItemEvente) textValueChanged(TextEvente) focusGained(FocusEvente) focusLost(FocusEvente) eyPressed(KeyEvente) keyReleased(KeyEvente) keyTyped(KeyEvente)
16
R.U.G.A.
Ejemploeventos
contadorDeClicks.java
R.U.G.A.
17
ControlesSwing
ejemploJLabel.java otroEjemploBoton.java tresBotones.java checkboxEjemplo.java RadioDemo.java ComboDemo.java demoPanel.java TextDemo.java MenuDemo.java
R.U.G.A. 18