Documenti di Didattica
Documenti di Professioni
Documenti di Cultura
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
Containers:enuncontenedorse puedeaadircomponentes.
Jerarquia deSwing
Componentesqueheredande
Jcomponent.
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(); } }
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
BORDERS
Elpaquete border este es puede ser
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
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
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
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
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); }
}
JToolTip andToolTipManager
ElJtoolTip esunaherramientaparamostrarmensajes
entiempodeejecucion consolomoverelmousesobre elobjeto Jvar.setToolTipText(Texto"); Jb1. Jb1 setToolTipText( setToolTipText(con conesteboton seabriran archivos");
Scrolling panes
JScrollPane Esnormalmentemuy
2doejemplorepasandotodoslos componentes