economia
Java
Elementos de Swing
• Tecnología Swing
• Componentes y contenedores
– NetScape (IFC) , IBM, Lighthouse Design
– Componentes. Aspecto visible del interfaz
• JFC
• botones, etiquetas, campos de texto, etc
• Se sitúan dentro de algún contenedor
– AWT, Java 2D, Accesibility, Drag and Drop, Swing
• Cambios importantes desde la versión 1.1 a 1.2– Contenedores. Almacenes de componentes
– Versión 1.1
AWT
– Versión 1.2 en adelante incluyen JFC: SWING
– Actualmente, los navegadores no entienden JFC
• Pueden contener a otros contenedores
• Dos tipos
• Swing está apoyado en parte en AWT
• AWT Abstract Window Toolkit
– La librería se encuentra en el paquete java.awt
1
AWT v SWING
– Superiores: JApplet, JFrame, JDialog,– Intermedios: JPanel, JScrollPane,
JSplitPane, JTabbedPane, JToolBar y otros
más especializados
3
Contenedores superiores I
• Por cada elemento de AWT existe un elemento en
el sistema operativo que lo representa
– El resultado final dependerá de este elemento
• Problema:
– Hay facilidades que algún sistema operativo no tiene
por lo que AWT define lo mínimo común
• Swing eliminaeste problema
• Disponen de un panel de contenidos (contentPane)
• Pueden opcionalmente disponer de un menú
– Definea lo máximo
– Necesita los paquetes (y subpaquetes)
• java.awt.* y javax.swing.*
2
Container cpane = unaFrame.getContetPane();
unaFrame.setContentPane(unPanel);
unaFrame.setJMenuBar(unMenuBar);
4
•1
Construcción de un GUI.
Pasos a seguir
ContenedoresSuperiores II
setSize()
setVisible()
Component
• I. Crear un contenedor superior y obtener su
contenedor intermedio
• II. Seleccionar un gestor de esquemas para el
contenedor intermedio
• III. Crear los componentes adecuados
• IV. Agregarlos al contenedor intermedio
• V. Dimensionar el contenedor superior
• VI. Mostrar el contenedor superior
Container
pack()
Dialog
setTitle()JDialog
Window
Panel
Frame
Applet
JApplet
JFrame
getContentPane()
getContentPane()
getContentPane()
5
I. Crear un contenedor
superior
Contenedores Intermedios
Component
add()
setLayout()
7
• Hay tres clases contenedores superiores
– JFrame, JDialog, JApplet
Container
• JFrame -> Aplicación
– Ventana de nivel superior con bordes y título
–setTitle(),getTitle(),setIconImage()
JComponent
JPanel
JScrollPane
JSplitPane
JTabbedPane
• JApplet -> Applets
• JDialog -> Diálogos
JToolBar
– Métodos de instancia ...
void pack()
Container getContentPane()
void setContentPane(Container)
void setJMenuBar(Menu)
•El contenedor más utilizado es JPanel
6
8
•2
II. Gestor de esquemas
para cont. intermedio
IV.Agregar componentes
al contenedor
• Determinan como encajan los componentes dentro
de los contenedores
• Se hace a través del método add() de los
contenedores
JFrame f = new JFrame(“Un ejemplo”);
Container cpane = f.getContetPane();
cpane.setLayout(new FlowLayout());
JButton bSi = new JButton(“SI”);
JButton bNo = new JButton(“NO”);
JLabel l = new JLabel(“Nombre”);
cpane.add(l);cpane.add(bSi);
cpane.add(bNo);
– Cada contenedor tiene un gestor propio
• Por defecto JPanel tienen BorderLayout
– Los gestores (son clases) existentes son:
• FlowLayout, BorderLayout, GridLayout,
GriBagLayout, CardLayout, BoxLayout, ...
– Puede no utilizarse el gestor y colocar los elementos
con setPosition() (no recomendable)
– El orden es importante
• Para asignar un gestorde esquemas
• A un contenedor intermedio también se le pueden
agregar otros contenedore intermedios
contenedor.setLayout(new FlowLayout())
9
11
III. Crear componentes
V. Dimensionar el
contenedor superior I
• Cada componente viene determinado por una clase
• Hay que crear un objeto de esa clase
• Especifica el tamaño del contenedor superior
• El método a llamar es...
Regístrate para leer el documento completo.