Este documento habla sobre los administradores de diseño en Java. Explica que los administradores de diseño ayudan a organizar y posicionar los componentes dentro de un contenedor. Luego describe algunos administradores de diseño comunes como BorderLayout, GridLayout, FlowLayout y CardLayout. Finalmente, incluye un ejemplo de código que utiliza BorderLayout.
Cross development - React para desarrolladores de asp.net
Actividad 4 presentacion multimedia modulo 4
1. Lic. MsD. Celestino Hernández Programación IV
Asignatura:
Programación de Sistemas
TEMA: Administradores de diseño en Java
Ciclo: 02/2016
Profesor:
Celestino Hernández
UNIVERSIDAD DE ORIENTE
FACULTAD DE CIENCIAS ECONOMICAS
SECCION DE INFORMATICA.
E-Mail: chernandez@univo.edu.sv
3. Lic. MsD. Celestino Hernández Programación IV
Objetivos:
Al final de la clase los participantes serán
capaces de:
– Comprenderá los principios básicos de los
administradores de diseño de las interfaces gráficas
de usuario (GUI).
– Creará aplicaciones usando los administradores de
diseño y la interfaz gráfica de usuario (GIU).
Administradores de Diseño:
4. Lic. MsD. Celestino Hernández Programación IV
• Los
ayudan a adaptar los diversos Componentes
que se desean incorporar a un JPanel,
JFrame o JApplet, es decir, especifican la
apariencia que tendrán los Componentes a
la hora de colocarlos sobre un Contenedor
controlando el tamaño y posición del
componente.
Clases de distribución de objetos (Layout)
6. Lic. MsD. Celestino Hernández Programación IV
• Un administrador de diseño determinan el
tamaño y posición del componente en el
contenedor mostrarando varios
componentes a la vez en un orden
preestablecido.
• Cuando el contenedor (container) necesita
posicionar un componente, invoca al layout
manager para que este lo haga
Administradores de diseño.
7. Lic. MsD. Celestino Hernández Programación IV
• Permiten representar de una manera
ordenada los componentes en la pantalla.
• Cuando usamos los administradores no
nos tenemos que preocupar, por ejemplo,
de que se redimensione una ventana, ya
que el propio administrador se encargará
de reorganizar los componentes en el
Container.
Ventajas
8. Lic. MsD. Celestino Hernández Programación IV
• BorderLayout. Diseño con limites. Divide un
contenedor en cinco secciones denominadas:
norte, sur, este, oeste y centro.
• GridLayout. Diseño por rejilla. Coloca los
componentes en el contenedor en filas y
columnas. (Video)
• GridBagLayout. Diseño tipo rejilla. Coloca
los componentes en el contenedor en filas y
columnas. A diferencia del GridLayout,
permite que un componente pueda ocupar mas
de una fila y/o columna.
Administradores de diseño de Swing
9. Lic. MsD. Celestino Hernández Programación IV
• CardLayout. Diseño por paneles. Este
administrador permite colocar en el contenedor
grupos diferentes de componentes en instantes
diferenes de la ejecucion (similar a los paneles
con pestañas).
• BoxLayout. Diseño en caja. Coloca los
componentes en el contenedor en una única
fila o columna, ajustándose al espacio que
haya.
Administradores de diseño de Swing.
10. Lic. MsD. Celestino Hernández Programación IV
• FlowLayout. Diseño en flujo. Coloca los
componentes en el contenedor de izquierda a
derecha (igual que se coloca el texto en un
párrafo). Es el administrador de diseño
asignado de forma predeterminada a los
contenedores de un nivel intermedio.
Administradores de diseño de Swing.
11. Lic. MsD. Celestino Hernández Programación IV
Vista de Administradores de diseño de Swing.
12. Lic. MsD. Celestino Hernández Programación IV
Ejemplo de uso del administrador FlowLayout
13. Lic. MsD. Celestino Hernández Programación IV
Ejemplo de programa usando BorderLayout
/**
* @(#)AdminBorderLayout.java
* @author
* @version 1.00 2016/7/6
*/
import java.awt.*;
import javax.swing.*;
import java.text.DecimalFormat;
import javax.swing.WindowConstants;
import javax.swing.JFrame;
import java.awt.event.*;
/*demostracion por inforux*/
public class AdminBorderLayout
{
public static void main(String args[])
{
producto frame = new producto();
frame.show();
frame.setDefaultCloseOperation(JFrame.
EXIT_ON_CLOSE);
}
}
class producto extends JFrame implements
ActionListener
{
JLabel eti1, eti2, eti3;
JTextField can, precio, tot;
JButton btncalcular, btnsalir;
DecimalFormat f;
public producto()
{
setTitle("Ejemplo con BorderLayout");
setSize(450,130);
f = new DecimalFormat("##,##0.00");
//creamos los paneles y asignamos el layout
Container contentPane = getContentPane();
contentPane.setLayout(new FlowLayout());
JPanel p1 = new JPanel();
JPanel p2 = new JPanel();
//Creamos los componentes a utilizar
eti1 = new JLabel("Cantidad de productos:
");
can = new JTextField(5);
eti2= new JLabel("Escribe el precio: ");
precio = new JTextField(5);
//Añadimos los componentes a la ventana
p1.add(eti1);
14. Lic. MsD. Celestino Hernández Programación IV
Cont. Ejemplo de programa usando BorderLayout
p1.add(can);
p1.add(eti2);
p1.add(precio);
contentPane.add(p1, BorderLayout.NORTH);
eti3 = new JLabel("Pago total: ");
tot = new JTextField(5);
//Añadimos los componentes a la ventana
p2.add(eti3);
p2.add(tot);
btncalcular = new JButton("Calcular");
btncalcular.addActionListener(this);
btnsalir = new JButton("Cerrar");
btnsalir.addActionListener(this);
p2.add(btncalcular);
p2.add(btnsalir);
contentPane.add(p2,
BorderLayout.SOUTH);
}
public void actionPerformed(ActionEvent e)
{
double preciop, total;
int cant;
if (e.getSource() == btncalcular)
{
cant = Integer.parseInt(can.getText());
preciop =
Double.parseDouble(precio.getText());
total = cant * preciop;
tot.setText(f.format(total));
}
if (e.getSource() == btnsalir)
{
System.exit(0);
}
}
}