Vous êtes sur la page 1sur 32

PreAmbulo

EntornoGrafico
TantoAWTcomoSwingproporcionacomponentes

basicos deGUIparautilizarlos,tantoenlosapplets comoenlasaplicaciones. Existensuperclasesqsepuedenextenderysus propiedadessepuedenheredar;lasclasespuedenser abstractas. b P Proporciona i componentesbasicos b i d GUI de parautilizarlos,tantoenlosapplets comoenlas aplicaciones. p Existensuperclasesquesepuedenextenderysus propiedadessepuedenheredar;lasclasespuedenser abstractas. abstractas

MVC
Laarquitectura

Modelo Vista Controlador(MVC)es unpatron de arquitecturadesoftware qseparalosdatosyla logica denegociode unaaplicacindela i f de d usuario i y interfaz elmodulodegestionar loseventosylas comunicaciones

Tipica colaboracion entrelos componentesdeunMVC

Containers:enuncontenedorse puedeaadircomponentes.

Jerarquia deSwing
Componentesqueheredande

Jcomponent.

Permitequetodocomponente contengaaotroscomponentes. Imgenesdentrodebotones, etc)(elnombreempiezaconJ)

Clasesdeapoyo. Nocreannadaquesevea peorayudan ( (elnombrenoempieza p con J) Widget einterfacescreadosa partirdelosdosanteriores Toplelvel containers(Jframe,Japplet, (J ,J pp , Jwindow,Jdialog) LightWeight components ( J_todo lodemas como Jbutton,Jpanel,etc)

Jerarquia deJcomponent

1erEjemplo

import java.awt.Button; import j java.awt.Color; import java.awt.Container; import java.awt.FlowLayout; import java.awt.HeadlessException; import java.awt.SystemColor; import javax.swing.JButton; javax swing JButton; import javax.swing.JFrame; import javax.swing.JLabel;

public class Jframe1extends JFrame{ public Jframe1() { super("primeraventana"); Container c=getContentPane(); c.setLayout(newFlowLayout()); for(int i=0;i<5;i++){ c.add(new dd( JButton("No: JB ("N "+i)); " i)) c.add(newButton("batter:"+i)); } c.add(newJLabel("Swing")); setSize(300,200); (3 , ); this.show();} public static void main(String[]args) { Jframe1jf1=newJframe1(); } }

1raP 1 Parte t swingsequivalentesaawt

Frame,Panels,andBorders
Elcontenedor principalpara

una aplicacion basada en swinges elJframe, Todos losobjetos asociados a unJframe,sonmanejados por sus hijos,einstanciados por JRootPane, JRootPane es unsimple contenedor para paneles hijos Nosotros nopodemos di t t agregar directamente componentes alJframe getContentPane(). y p add(myComponent);

JPanel
Class javax.swing.JPanel Esteesunsimplecontenedordecompomentes usado

paraorganizar decomponentes i engruposogruposd hijos. JPanelesparteintegraldeJRootPane

BORDERS
Elpaquete border este es puede ser

aplicado li d encualquier l i componente swing. myComponent. myComponent setBorder(BorderFacto ry. y createEtchedBorder());

Layoutmanagers
Todos loslayoutsson

implementados dedos interfacesdefinidos en java.awt Cada contenedor debe ser asignado aunLayot manager,ynosedebe usar ellayoutmanayer para administrar mas de uncontenedor

Layout andlayoutManager

Layout ayoutManager a age Heuristics eu st cs


null FlowLayout GridLayout none, programmer setsx,y,w,h Lefttoright, Toptobottom

BorderLayout n

CardLayout

GridBagLayout

c s

Oneatatime

JButton

LabelsandButtons

JLabel
JLabeles uno deloscomponentes Swingmas simples JLabelpuede mostrar texto,icono yuna combinacion

de dos. d los l d

JLabelplainLabel =newJLabel("Plain Smalllabel"); JLabelfancyLabel =newJLabel("Fancy Big

Label ); Label"); FontfancyFont =new Font("Serif",Font.BOLD|Font.ITALIC,32); | fancyLabel.setFont(fancyFont); f L b l tH i t lAli t(JL b l RIGHT) fancyLabel.setHorizontalAlignment(JLabel.RIGHT); add(plainLabel); add(fancyLabel);

Textalignment
Sepuede especificar

laposicicion de muchos componentes Swing,nosotros usaremos la interface javax.swing.SwingC onstante ,


SwingConstatns.LEFT SwingConstants.CENTER; SwingConstants.TOP g SwingConstants.BOTTOM

JButton
Jbutton esunboton basico parapresionar Podemosagregarimgenes,especificartexto,alinear

imgenes, foreground i cologar l f d and dbackground b k d de d color,cambiarlasletras,yotrosmas. Adicionalmentedepoderagregar ActionListeners,ChangeListern eItemListener, tambien recibeActionEvents,ChangeEvents e g ItemEvents,respectivamenteyotraspropiedadespara cambiarelvalordelmodelo. myJframe.getRootPane().setDefaultButton(byButton). Jf R P () D f l B (b B )

ButtonGroup
UnButtonGroup gestionaunconjuntodebotonesal

garantizarquesolamenteunboton dentrodeeste gruposepuedeseleccionarencualquiermomento dado.

JchechBox andJradioButton

public class SuperGroup extends JPanel{ public SuperGroup(){ GridLayout gridlayout =new y (3,3); GridLayout(3, this.setLayout(gridlayout); JPanelp2=newJPanel(true); JCheckBox jch1=new JCheckBox("opcion JCheckBox( opcion 1 1"); ); JCheckBox jch2=new JCheckBox("opcion 2"); JCheckBox jch3=new JCheckBox("opcion 3"); p2 add(jch1); p2.add(jch1); p2.add(jch2); p2.add(jch3);

JPanel JP lp3=newJPanel(true); JP l( ) /* *paraqlosradioButtons esimportantecolocarlo enunButtonGroup *comoseveacontinuacion */ ButtonGroup bg =newButtonGroup(); JRadioButton JR di B tt r1=newJRadioButton( JR di B tt ("radio di button1"); JRadioButton r2=newJRadioButton("radio button2"); JRadioButton r3=newJRadioButton("radio b tt ") button3"); bg.add(r1);bg.add(r2);bg.add(r3); p3.add(r1);p3.add(r2);p3.add(r3); p3.add(jch1);p3.add(jch2);p3.add(jch3); this.add(p2); (p ); this.add(p3); }
}

2daparte swingsquenoestubieron en AWT. AWT

JToolTip andToolTipManager
ElJtoolTip esunaherramientaparamostrarmensajes

entiempodeejecucion consolomoverelmousesobre elobjeto Jvar.setToolTipText(Texto"); Jb1. Jb1 setToolTipText( setToolTipText(con conesteboton seabriran archivos");

Scrolling panes
JScrollPane Esnormalmentemuy

sencillo, ill cualquier l i componenteocontenedor puedecolocarenun JscrollPane ydesplazarse.

2doejemplorepasandotodoslos componentes

Vous aimerez peut-être aussi