java swing (parte iii)

Anuncio
Programación interactiva
Oscar Bedoya
[email protected]
JPanel
con GridLayout(4,2)
JPanel
con GridLayout(1,2)
JTextArea de 10 x 25
JFrame o contenedor
con FlowLayout
Al presionar el
botón Pregunta,
se debe mostrar
el nombre y el
código de los
estudiantes de
ELECTRONICA
de sexo femenino
Botón “Ingresar datos”
public class Estudiante{
String codigo, nombre, sexo, carrera;
Estudiante
nombre
código
sexo
carrera
public Estudiante(String c, String n, String s, String c){
codigo=c;
nombre=n;
sexo=s;
carrera=c;
}
Clase base
public String obtenerNombre(){
return nombre;
}
...
}
unEstudiante
Oscar
9709555
M
SISTEMAS
losEstudiantes
unEstudiante
Codigo=“9709555”
Nombre=“OSCAR”
Sexo=“M”
Carrera=“SISTEMAS”
losEstudiantes
unEstudiante
Codigo=“9709555”
Nombre=“OSCAR”
Sexo=“M”
Carrera=“SISTEMAS”
unEstudiante
Codigo=“0309560”
Nombre=“SARAH”
Sexo=“F”
Carrera=“ELECTRONICA”
Botón “Pregunta”
Al presionar el
botón Pregunta,
se debe mostrar
el nombre y el
código de los
estudiantes de
ELECTRONICA
de sexo femenino
losEstudiantes
unEstudiante
Codigo=“9709555”
Nombre=“OSCAR”
Sexo=“M”
Carrera=“SISTEMAS”
unEstudiante
unEstudiante
Codigo=“0309560”
Nombre=“SARAH”
Sexo=“F”
Carrera=“ELECTRONICA”
Codigo=“0209430”
Nombre=“ANDREA”
Sexo=“F”
Carrera=“ELECTRONICA”
losEstudiantes
unEstudiante
Codigo=“9709555”
Nombre=“OSCAR”
Sexo=“M”
Carrera=“SISTEMAS”
¿Carrera es ELECTRONICA y
Sexo es F?
unEstudiante
unEstudiante
Codigo=“0309560”
Nombre=“SARAH”
Sexo=“F”
Carrera=“ELECTRONICA”
Codigo=“0209430”
Nombre=“ANDREA”
Sexo=“F”
Carrera=“ELECTRONICA”
losEstudiantes
unEstudiante
Codigo=“9709555”
Nombre=“OSCAR”
Sexo=“M”
Carrera=“SISTEMAS”
unEstudiante
unEstudiante
Codigo=“0309560”
Nombre=“SARAH”
Sexo=“F”
Carrera=“ELECTRONICA”
Codigo=“0209430”
Nombre=“ANDREA”
Sexo=“F”
Carrera=“ELECTRONICA”
¿Carrera es ELECTRONICA y
Sexo es F?
losEstudiantes
unEstudiante
Codigo=“9709555”
Nombre=“OSCAR”
Sexo=“M”
Carrera=“SISTEMAS”
unEstudiante
unEstudiante
Codigo=“0309560”
Nombre=“SARAH”
Sexo=“F”
Carrera=“ELECTRONICA”
Codigo=“0209430”
Nombre=“ANDREA”
Sexo=“F”
Carrera=“ELECTRONICA”
¿Carrera es ELECTRONICA y
Sexo es F?
Botón Ingresar Datos:
•
Crear un objeto estudiante con los atributos codigo,
nombre, sexo y carrera
•
Asignar los datos digitados al objeto creado
•
Agregar el objeto a un vector llamado losEstudiantes
•
Mostrar un mensaje donde se indique que se introdujo
un estudiante al vector
Botón Pregunta1:
Muestre el nombre y el código de las mujeres que
realizaron la encuesta que son estudiantes de
Ingeniería Electrónica
•
Recorrer el vector y verificar la condición
•
Si se cumple, mostrar el nombre y el código
Clase Vector
Método
Descripción
addElement
Adiciona un elemento al vector
size()
Devuelve la cantidad de
elementos en el vector
elementAt(i)
Devuelve el elemento en la
posición i (iniciando en 0)
removeElementAt(i)
Elimina el elemento en la
posición i
Aerolinea-AerolineaMenu
JMenu
JMenuItem
JMenuBar
JMenu
JMenuItem
JMenuItem
JMenuBar
JMenu
JMenuItem
JMenuBar
Anteriormente los
botones tenían asociados
el oyente. Ahora, ¿con
quién se debe asociar el
oyente?
•
Para definir y crear la barra de menues
JMenuBar barra;
barra=new JMenuBar();
•
Para definir y crear un menú
JMenu menuInicio;
menuInicio = new JMenu(" Inicio ");
•
Para definir los ítems del menu
JMenuItem item1, item2, item3, item4;
item1 = new JMenuItem(" Nuevo pasajero ");
item2 = new JMenuItem(“ Listado 1 ");
item3 = new JMenuItem(" Listado 2 ");
item4 = new JMenuItem(" Salir ");
Se debe especificar a qué
menú pertenece cada
item
menuInicio
item1
barra
menuListados
item2
item3
barra
menuTerminar
item4
barra
•
Para adicionar los items a un menú específico se
utiliza el método add()
menuInicio.add(item1);
menuListados.add(item2);
menuListados.add(item3);
menuTerminar.add(item4);
•
Para adicionar funcionalidad a los items se utiliza el
método addActionListener
item1.addActionListener(this);
item2.addActionListener(this);
item3.addActionListener(this);
item4.addActionListener(this);
•
Después de adicionar los items a cada menu, se debe
adicionar cada menú a la barra de menues, esto se
hace de la siguiente manera:
barra.add(menuInicio);
barra.add(menuListados);
barra.add(menuTerminar);
•
Por último se debe adicionar la barra de menues a la
ventana
setJMenuBar(barra);
public void actionPerformed(ActionEvent e){
if (e.getSource()==item1){
. . .
}
if (e.getSource()==item2){
. . .
}
if (e.getSource()==item3){
. . .
}
if (e.getSource()==item4){
. . .
}
}
Swing
JTabbedPane
Ordena los componentes de la GUI en capas, en donde solo una capa está
visible en un momento dado
Swing
JTabbedPane
Ordena los componentes de la GUI en capas, en donde solo una capa está
visible en un momento dado
Un TabbedPane une un
conjunto de componentes
JPanel
Swing
JTabbedPane
•Declarar
private JTabbedPane panelConFichas;
private JPanel panel1, panel2, panel3;
•Crear
panelConFichas = new JTabbedPane();
etiqueta1 = new JLabel( "panel uno", SwingConstants.CENTER );
panel1 = new JPanel();
panel1.add( etiqueta1 );
panelConFichas.addTab( "Ficha uno", null, panel1, "Primer panel" );
Título que aparece
en el tab
Swing
JTabbedPane
•Declarar
private JTabbedPane panelConFichas;
private JPanel panel1, panel2, panel3;
•Crear
panelConFichas = new JTabbedPane();
etiqueta1 = new JLabel( "panel uno", SwingConstants.CENTER );
panel1 = new JPanel();
panel1.add( etiqueta1 );
panelConFichas.addTab( "Ficha uno", null, panel1, "Primer panel" );
Icono
Panel
ToolTipText
Swing
JTabbedPane
•Declarar
private JTabbedPane panelConFichas;
private JPanel panel1, panel2, panel3;
•Crear
Icon image1 = new ImageIcon( "image12.gif" );
etiqueta3 = new JLabel( "panel uno", SwingConstants.CENTER );
panel3 = new JPanel();
panel3.add( etiqueta3 );
panelConFichas.addTab( "Ficha tres", image1, panel3, “Tercer panel" );
Se coloca un
icono
Swing
DemoJTabbedPane
Descargar