67
UNIVERSIDAD NACIONAL DEL SANTA FACULTAD DE INGENIERIA E.A.P INGENIERIA DE SISTEMAS E INFORMATICA MANUAL DE PROGRAMACION VISUAL CON JAVA PARTE - 2 Ing. Mirko Manrique Ronceros Primera Edición

Java - Programación Visual - Mirko Manrique Ronceros.pdf

Embed Size (px)

Citation preview

Page 1: Java - Programación Visual - Mirko Manrique Ronceros.pdf

UNIVERSIDAD NACIONAL DEL SANTA

FACULTAD DE INGENIERIA

E.A.P INGENIERIA DE SISTEMAS E INFORMATICA

MANUAL DE PROGRAMACION VISUAL CON JAVA

PARTE - 2

Ing. Mirko Manrique Ronceros

Primera Edición

Page 2: Java - Programación Visual - Mirko Manrique Ronceros.pdf

INDICE

Uso del Objeto JFrame 03

Objetos Contenedores Jpanel y JScrollPanel 17

Objeto Jpanel 17

Objeto JSCrollPanel 19

Objetos Contenedores JTabbedPanel y JDesktoPanel 33

Objeto JTabberPanel 33

Objeto JDesktopPanel 34

Objetos Menús JMenúBar y JMenúItem 53

Objeto JMenúBar 53

Objeto JMenúItem 53

Objetos Menús JRadioButtonMenúItem, JSeparador y Jmenú 62

Objeto JRadioButtonMenúItem 63

Objeto JSeparador 63

Objeto JMenú 63

Page 3: Java - Programación Visual - Mirko Manrique Ronceros.pdf

Universidad Nacional del SantaFacultad de Ingeniería Programación Visual con JavaE.A.P. Sistemas e Informática

USO DEL OBJETO JFRAMEObjeto de Control JFrame

Hasta el momento hemos hablado muy poco o casi nada del objeto Jframe, es decir,

acerca del formulario. Es un objeto contenedor por excelencia debido a que es una

interfase que facilita hacer los procesos que necesita el usuario de la aplicación. En

este objeto podemos situar todos los demás componentes que necesitemos para el

desarrollo de la interfase de nuestra aplicación.

En la figura anterior muestra la jerarquía de herencia de este componente desde

Object, que es el padre de todas las clases de Java. Los métodos estarán repartidos a

lo largo de toda la jerarquía. Así por ejemplo, resulta intuitivo que debiera haber un

método para cambiar el color de fondo del formulario, pero él no tiene ningún método

para ello, lo tiene Componet.

Propiedades más usadas:

• Title: Permite definir el título del formulario, es decir, la etiqueta de la la barra

de título.

Ing. Mirko Manrique Ronceros Página 3

Page 4: Java - Programación Visual - Mirko Manrique Ronceros.pdf

Universidad Nacional del SantaFacultad de Ingeniería Programación Visual con JavaE.A.P. Sistemas e Informática

• Font: Se establece el tipo de letra y el tamaño que servirá de base a cualquier

expresión que se coloque con cualquier objeto de control dentro del formulario.

• Enabled: Permite habiltar o inhabilitar el uso del objeto.

Métodos más usados:

• setTitle(): Añade el títutlo en el formulario.

• setSize(): Establece el tamaño del formulario.

• setLocation(): Establece la ubicación del formulario dentro de la pantalla.

• setVisible(): Establece la visibilidad del objeto. Usa valores booleanos.

• setIconImage(): Establece el ícono que se colocará al lado izquierdo del título

del formulario.

• show(): Permite cargar un formulario a la maemoria para ser vista por el

usuario.

• Hide(): Permite ocultar al formulario.

Ing. Mirko Manrique Ronceros Página 4

Page 5: Java - Programación Visual - Mirko Manrique Ronceros.pdf

Universidad Nacional del SantaFacultad de Ingeniería Programación Visual con JavaE.A.P. Sistemas e Informática

Aplicación

Construye una aplicación que permite ingresar el nombre del postulante, la cantidad

de preguntas bien contestadas y la cantidad de preguntas mal contestadas. La suma

entre las preguntas bien y mal contestadas no debe superar a 100. Por cada pregunta

bien contestada vale 4.08 puntos y por cada pregunta mal contestada vale -1.04

puntos. Se agregarán los datos antes mencionados en objetos JList y se debe obtener

el postulante de mayor puntaje o el pustulante de menor puntaje en un segundo

formulario. Usar los atributos y métodos de la clase Jframe.

Solución:

1. Procedemos a crear un proyecto denominado Práctica, la misma que

contendrá al paquete práctica. A partir de éste paquete vamos a crear un

formulario con el objeto Jframe, seleccionando dicho paquete y al dar click con

el botón derecho del mouse se muestra un menú flotante. Seleccionemos

Formulario JFrame.

2. A continuación, colocaremos como nombre al formulario frmPostulante.

Luego dar click en el botón de comando Finish (en caso de que la versión de

NetBeans es en castellano entonces dar click en el botón de comando

Terminar).

Ing. Mirko Manrique Ronceros Página 5

Page 6: Java - Programación Visual - Mirko Manrique Ronceros.pdf

Universidad Nacional del SantaFacultad de Ingeniería Programación Visual con JavaE.A.P. Sistemas e Informática

3. Se muestra el entorno de desarrollo de NetBeans y no olvidemos de dar click en

el botón derecho del mouse sobre el formulario y establece AbsoluteLayout en

SetLayout.

Ing. Mirko Manrique Ronceros Página 6

Page 7: Java - Programación Visual - Mirko Manrique Ronceros.pdf

Universidad Nacional del SantaFacultad de Ingeniería Programación Visual con JavaE.A.P. Sistemas e Informática

4. Procedemos a colocar los objetos de control, tal como lo apreciamos en el

siguiente diseño de formulario.

5. Procedemos a quitar los ítems de cada uno de las cajas de listas.

6. Los objetos de control en el diseño del formaulario tienen los siguientes

nombres:

Ing. Mirko Manrique Ronceros Página 7

Page 8: Java - Programación Visual - Mirko Manrique Ronceros.pdf

Universidad Nacional del SantaFacultad de Ingeniería Programación Visual con JavaE.A.P. Sistemas e Informática

7. Ahora bien, si observamos en el diseño del formulario, los cuatro objetos JList

no tienen ítems. Los objetos JList referidos a Postulante, Buenas, Malas y

Puntaje, se llenarán de ítems al momento de usar el botón de comando

Agregar. Siendo cutro JList entonces necesitamos cuatro modelos del tipo

DefaultListModel, uno para cada Jlist, para lo cual debemos incluir en el

código de la programación el paquete swing con la siguiente instrucción:

Ahora procedemos a escribir la definición de las variables del tipo

DefaultListModel en la clase frmPostulante.

Ing. Mirko Manrique Ronceros Página 8

Page 9: Java - Programación Visual - Mirko Manrique Ronceros.pdf

Universidad Nacional del SantaFacultad de Ingeniería Programación Visual con JavaE.A.P. Sistemas e Informática

8. Una vez definido las 4 variables de memoria del tipo DefaultListModel, en el

método constructor se debe indicar que la variable modelo1 es para la caja de

lista lstPost, la variable modelo2 para la caja de lista lstBuenas, la variable

modelo3 para la caja de lista lstMalas y la variable modelo4 para la caja de

lista lstPuntaje. Antes haremos uso del método setTitle() para definir el título

del formulario en la barra de título cuya expresión es “Postulantes al Examen de

Admisión”. También hacemos que los botones de comando Agregar y Eliminar

se inhabilite su uso desde la ejecución de la aplicación. Los cuadros de textos

txtPost, txtBien y txtMal deben inhabilitarse su uso en el momento de la

ejecución. Haremos uso de los métodos del objeto JFrame llamdados setSize()

y setLocation() para darle el tamaño apropiado al formulario y ubicación

dentro de la pantalla. El operador this hace referencia al formulario

frmPostulante. Sólo escribe lo que señala la llave de color rojo.

9. Procedemos a definir cuatro atributos o propiedades para la clase

frmPostulante. Las líneas de código programación lo puedes escribir después

de las líneas de código que definieron a las cuatro variables de tipo

DefaultListModel.

Ing. Mirko Manrique Ronceros Página 9

Page 10: Java - Programación Visual - Mirko Manrique Ronceros.pdf

Universidad Nacional del SantaFacultad de Ingeniería Programación Visual con JavaE.A.P. Sistemas e Informática

Los atributos mayor y menor es para almacenar el mayor y menor puntaje de

los postulantes ingresados en los objetos JList y los atributos postMay y

postMen es para almacenar el nombre del postulante de mayor puntaje y el

nombre del postulante de menor puntaje.

10. Debajo de la

definición de los

atributos, vamos a

construir los

métodos que nos

permitan dar y

obtener el valor a

cada uno de los

atributos.

Comenzaremos

por los atributos

mayor y menor

definiendo los

siguientes

métodos:

Ing. Mirko Manrique Ronceros Página 10

Page 11: Java - Programación Visual - Mirko Manrique Ronceros.pdf

Universidad Nacional del SantaFacultad de Ingeniería Programación Visual con JavaE.A.P. Sistemas e Informática

El método setMayor() tiene un parámetro llamado m de tipo double y con el

operador void significa que no tiene el método valor de retorno. Este método

sirvirá almacenar en el atributo mayor el valor del parámetro m. En cambio el

método getMayor() no tiene parámetro pero su valor de retorno es double, es

decir, que éste método arroja o se puede obtener el valor almacenado en el

atributo mayor. Lo mismo sucede para los métodos setMenor() y

getMenor(). Vamos a proceder a crear los métodos para los atributos

postMay y postMen.

11. Vamos a proceder a programar en el botón de comando Nuevo.

Ing. Mirko Manrique Ronceros Página 11

Page 12: Java - Programación Visual - Mirko Manrique Ronceros.pdf

Universidad Nacional del SantaFacultad de Ingeniería Programación Visual con JavaE.A.P. Sistemas e Informática

12. Ahora programemos en el botón de comando Agregar.

Procedemos a declarar las variables buenas y malas como enteras y puntaje

como real (double). Las variables de memoria enteras reciben los valores

ingresados en los cuadros de textos txtBien y txtMal y la variable puntaje se

almacena el resultado según el valor de las preguntas bien y mal contestadas.

Con la sentencia IF evalúa que la cantidad de preguntas contestadas no

superen a 100. Si no supera a 100 procedemos agregar en las cajas de listas a

través de las variables de tipo DefaultListModel.

13. Programemos en el objeto JList denominado lstPost en el evento

ValueChanged.

En esta programación se busca que al momento de seleccionar a un postulante

en la caja de lista lstPost, se seleccione inmediatamente la cantidad de

preguntas bien contestadas, la cantidad de preguntas mal contestadas y el

puntaje en las demás cajas de listas. Se finaliza habilitando el uso del botón de

comando Eliminar.

Ing. Mirko Manrique Ronceros Página 12

Page 13: Java - Programación Visual - Mirko Manrique Ronceros.pdf

Universidad Nacional del SantaFacultad de Ingeniería Programación Visual con JavaE.A.P. Sistemas e Informática

14. Programemos en el botón de comando Eliminar en el evento

Eliminamos lo seleccionado con el método remove perteneciente a los modelos

de cada caja de lista.

15. Es hora de crear el segundo formulario. Para ello seleccionamos el paquete

práctica y en la opción New (nuevo) elegimos Formulario JFrame. A éste

formulario se llamará frmConsulta, siendo el diseño el siguiente:

16. Es necesario que los objetos JRadioButton pertenezcan a un

ButtonGroup.

Ing. Mirko Manrique Ronceros Página 13

Page 14: Java - Programación Visual - Mirko Manrique Ronceros.pdf

Universidad Nacional del SantaFacultad de Ingeniería Programación Visual con JavaE.A.P. Sistemas e Informática

17. Procedemos a colocar los nombres a los objetos de control.

18. El formulario frmConsulta será activado al momento de dar click en el botón de

comando btnConsultar del primer formulario frmPostulante. Volvamos al

primer formulario y programemos en el botón Consultar.

Ing. Mirko Manrique Ronceros Página 14

Page 15: Java - Programación Visual - Mirko Manrique Ronceros.pdf

Universidad Nacional del SantaFacultad de Ingeniería Programación Visual con JavaE.A.P. Sistemas e Informática

La programación se inicia con la declaración de variables de tipo entero, real y

cadena de caracteres. En la variable cuenta se almacena la totalidad de ítems

existentes en la caja de lista lstPuntaje a través de la variable modelo4. Si la

variable cuenta es mayor o igual a 1 entonces se procede con una sentencia for

a buscar el mayor puntaje y la posición (índice) dentro de la caja de lista

correspondiente al mayor puntaje. Luego con el método setMayor() se asigna el

valor de la variable may al atributo mayor perteneciente a la clase

frmPostulante. La misma idea se hace con el método setMenor() y con las

variables pmay y pmen se almacenan los nombres de los postulantes que

obtuvieron el mayor y menor puntaje respectivamente. Luego se asignan a los

atributos postMay y postMen, a través de los métodos setPostMay() y

setPostMen(), los valores que se encuentra en pmay y pmen. A continuación,

se declara y se instancia la variable form2 de tipo frmConsulta, es decir, se

crea una variable form2 que tiene los mismos atributos y métodos del

formulario frmConsulta. Posteriormente con los métodos getMayor(),

getMenor(), getPostMay() y getPostMen() se pasan los valores a los

atributos a la variable objeto form2. Luego con el método show() hacemos

que el segundo formulario se muestre.

19. Volvamos al segundo formulario y comenzamos a programar. Definamos

los atributos y la programación en el método constructor.

Los atributos definidos al inicio de la clase frmConsulta nos permitirá recibir los

valores o datos del primer formulario. La programación agregada en el método

constructor define el título del formulario con la expresión “Consulta del Mayor

y Menor Puntaje”, se establece el tamaño del formulario frmConsulta y

finalmente la localización dentro de la pantalla.

Ing. Mirko Manrique Ronceros Página 15

Page 16: Java - Programación Visual - Mirko Manrique Ronceros.pdf

Universidad Nacional del SantaFacultad de Ingeniería Programación Visual con JavaE.A.P. Sistemas e Informática

20. Programemos en el botón de comando Ver lo siguiente:

Mandamos al cuadro de texto el valor contenido en el atributo postMay siempre

y cuando esté seleccionado el JRadioButton referido al postulante de mayor

puntaje, de lo contario se muetra el contenido del atributo postMen referido al

postulante de menor puntaje.

Ing. Mirko Manrique Ronceros Página 16

Page 17: Java - Programación Visual - Mirko Manrique Ronceros.pdf

Universidad Nacional del SantaFacultad de Ingeniería Programación Visual con JavaE.A.P. Sistemas e Informática

OBJETOS CONTENEDORES JPANEL Y JSCROLLPANEL

Swing Containers

Los objetos pertenecientes a Swing Containers, son objetos que permiten agrupar a

otros objetos y facilitan el manejo de ciertos procesos dentro de una aplicación. En el

entorno de NetBeans la paleta de los Swing Containers muestra lo siguiente:

En el presente tema vamos a hacer uso de los objetos Jpanel y JScrollPanel.

Objeto Contenedor JPanel

Este componente lo que nos permite es Agrupar Otros Componentes dentro de él

(algo así como el Frame en Visual.net o el GroupBox de Power Builder).

Para empezar creamos un proyecto, una vez hecho este paso, vamos al panel del lado

derecho donde se encuentran los elementos Swing Containers y seleccionamos el

componente Panel (Jpanel), lo seleccionamos y soltamos en el Formulario.

Ing. Mirko Manrique Ronceros Página 17

Page 18: Java - Programación Visual - Mirko Manrique Ronceros.pdf

Universidad Nacional del SantaFacultad de Ingeniería Programación Visual con JavaE.A.P. Sistemas e Informática

Después de hacer esto soltamos y si hacemos click en otro lado del área del

formulario nótese que pareciera que el Panel no estuviera pero si esta pase el mouse

por donde colocó el Panel y ahí lo ubicará, pero no se alarmen si está.

Bien para no tener estos problemas vamos a

darle un borde a nuestro JPanel, En la ventana de

propiedades como se muestra en la imagen

seleccionamos a la propiedad Border.

Nos mostrará la siguiente

imagen

Ing. Mirko Manrique Ronceros Página 18

Page 19: Java - Programación Visual - Mirko Manrique Ronceros.pdf

Universidad Nacional del SantaFacultad de Ingeniería Programación Visual con JavaE.A.P. Sistemas e Informática

Bien tendremos esto:

Propiedad más usada:

• Border: Se establece el borde y el título si fuese necesario.

Método más usado:

• setEnabled(): Para habilitar o inhabilitar el uso del objeto.

Objeto Contenedor JScrollPanel

Un objeto ScrollPanel permite ubicar dentro de ella uno o varios objetos que

comúnmente son objetos de control. Cuando se sobrepasa el espacio del objeto

JScrollPanel, éste muestra las barras de desplazamiento vertical y/o horizontal.

Por ejemplo, agregamos el JScrollPanel y dentro del mismo agregamos un JPanel para

poder utilizar los componentes libremente; no olvidarse de la propiedad Aboslute

Layout que nos permite colocar en cualquier posición otro componente dentro del

Jpanel. Haremos que cuando cargue el formulario cargue un texto dentro de un Frame

Ing. Mirko Manrique Ronceros Página 19

Page 20: Java - Programación Visual - Mirko Manrique Ronceros.pdf

Universidad Nacional del SantaFacultad de Ingeniería Programación Visual con JavaE.A.P. Sistemas e Informática

Si colocamos el siguiente código en el botón de comando Mostrar:

private void BtnMostrarActionPerformed(java.awt.event.ActionEvent evt) {

lblTexto.setText(“Observa que el código de ejemplo selecciona el tamaño preferido del

contenedor del panel desplazable. Una alternativa sería seleccionar el tamaño

preferido del propio panel desplazable. De cualquier modo, se está limitando el

tamaño del panel desplazable. Esto es necesario porque el tamaño preferido de un

panel desplazable es ser tan grande como pueda”);

}

Para el botón de comando Limpiar colocamos:

private void btnLimpiar ActionPerformed(java.awt.event.ActionEvent evt) {

lblTexto.setText(“”);

}

Al ser ejecutado se debe mostrar el formulario como sigue.

Ing. Mirko Manrique Ronceros Página 20

Page 21: Java - Programación Visual - Mirko Manrique Ronceros.pdf

Universidad Nacional del SantaFacultad de Ingeniería Programación Visual con JavaE.A.P. Sistemas e Informática

Aplicación

Construye una aplicación que permita ingresar el título de una película, seleccionar su

categoría que puede ser Comedia, acción, Dibujos animados o Drama. Además se

debe ingresar la duración en minutos de la película y el nombre del actor principal.

Una vez ingresado los datos se procede a agregar en un objeto JTable generando una

fila de datos y mostrando en un cuadro de texto el número de películas ingresadas.

Solución:

1. Creamos un proyecto denominado Ejercicios.

Luego dar click en el botón de comando Finish (Terminar si el entorno de

NetBeans es en castellano).

2. Estando en el entorno de NetBeans, seleccionamos el paquete ejercicios y

dando click botón derecho del mouse se muestra un menú flotante, donde

seleccionamos Formulario Jframe.

Ing. Mirko Manrique Ronceros Página 21

Page 22: Java - Programación Visual - Mirko Manrique Ronceros.pdf

Universidad Nacional del SantaFacultad de Ingeniería Programación Visual con JavaE.A.P. Sistemas e Informática

3. A continuación, colocaremos como nombre de formulario frmPeliculas.

Luego dar click en el botón de comando Finish (en caso de que la versión de

NetBeans es en castellano entonces dar click en el botón de comando

Terminar).

4. Se muestra el entorno de desarrollo de NetBeans y no olvidemos de dar click en

el botón derecho del mouse sobre el formulario y establece AbsoluteLayout en

SetLayout.

Ing. Mirko Manrique Ronceros Página 22

Page 23: Java - Programación Visual - Mirko Manrique Ronceros.pdf

Universidad Nacional del SantaFacultad de Ingeniería Programación Visual con JavaE.A.P. Sistemas e Informática

5. Procedemos a colocar un objeto de control Jlabel con la expresión “PELICULA:”

y al lado derecho un cuadro de texto JTextField.

6. Colocamos un objeto contenedor JPanel por debajo de la expresión

“PELICULA:”.

7. Procedemos a utilizar la

ventana de propiedades del

objeto Jpanel. No vamos a

usar la ficha de propiedades

que se encuentra al lado

derecho del diseño del

formulario, sino que

seleccionamos al objeto

JPanel y luego al dar click

botón derecho del Mouse,

seleccionamos la opción

propiedades.

Ing. Mirko Manrique Ronceros Página 23

Page 24: Java - Programación Visual - Mirko Manrique Ronceros.pdf

Universidad Nacional del SantaFacultad de Ingeniería Programación Visual con JavaE.A.P. Sistemas e Informática

8. Seleccionamos la propiedad Border y damos click en el botón de comando

correspondiente a ésta propiedad.

9. A continuación, seleccionamos como borde disponible a TitledBorder.

10. En título colocamos “Categorías de Películas”.

Ing. Mirko Manrique Ronceros Página 24

Page 25: Java - Programación Visual - Mirko Manrique Ronceros.pdf

Universidad Nacional del SantaFacultad de Ingeniería Programación Visual con JavaE.A.P. Sistemas e Informática

11. Ahora procedemos a definir el borde (propiedad que se encuentra encima

de Título).

12. Posteriormente, seleccionamos el tipo de Borde EtchedBorder.

Ing. Mirko Manrique Ronceros Página 25

Page 26: Java - Programación Visual - Mirko Manrique Ronceros.pdf

Universidad Nacional del SantaFacultad de Ingeniería Programación Visual con JavaE.A.P. Sistemas e Informática

13. Luego de dar click en el botón de comando OK, queda definido el Borde y

el título.

14. Volvemos a dar click en el botón de comando OK y regresamos a la

ventana de propiedades del JPanel.

Cerrar ésta ventana usando el botón de comando Close (Cerrar).

Ing. Mirko Manrique Ronceros Página 26

Page 27: Java - Programación Visual - Mirko Manrique Ronceros.pdf

Universidad Nacional del SantaFacultad de Ingeniería Programación Visual con JavaE.A.P. Sistemas e Informática

15. El diseño del formulario queda así:

16. Ahora debemos hacer algo muy importante, que es establecer como

AbsoluteLayout al objeto JPanel para que permita colocar los objetos de control

con facilidad.

17. Colocamos cuatro objetos de tipo JRadioButton dentro del objeto Panel,

quedando el diseño del formulario así:

Ing. Mirko Manrique Ronceros Página 27

Page 28: Java - Programación Visual - Mirko Manrique Ronceros.pdf

Universidad Nacional del SantaFacultad de Ingeniería Programación Visual con JavaE.A.P. Sistemas e Informática

18. No olvidemos de crear un objeto ButtonGroup e indicar para cada objeto

JRadioButton en su propiedad ButtonGroup que pertenecen a ButtonGroup1.

19. Seguimos

agregando los objetos de

control según observamos

en el diseño del

formulario. Esta vez vas a

agregar un objeto

JScrollPanel para colocar

dentro de ella a un objeto

JTable.

Ing. Mirko Manrique Ronceros Página 28

Page 29: Java - Programación Visual - Mirko Manrique Ronceros.pdf

Universidad Nacional del SantaFacultad de Ingeniería Programación Visual con JavaE.A.P. Sistemas e Informática

20. A continuación colocamos un objeto JTable. Los nombres de los objetos

de control son tal como se aprecia en el siguiente diseño de formulario.

21. Vamos a proceder a programar. Comenzamos con hacer uso del paquete

swing y específicamente a las clases JOptionPane y a la clase JTable.

22. Luego procedemos a crear un modelo para el objeto JTable llamado Tabla a

través de la clase DefaultTableModel. Lo hacemos dentro de la clase

frmNotas. Usar la clase DefaultTableModel es posible gracias al import

javax.swing.table.*;

Ing. Mirko Manrique Ronceros Página 29

Page 30: Java - Programación Visual - Mirko Manrique Ronceros.pdf

Universidad Nacional del SantaFacultad de Ingeniería Programación Visual con JavaE.A.P. Sistemas e Informática

Declaramos y creamos una variable de memoria dtm del tipo

DefaultTableModel.

23. En el método constructor programamos lo siguiente (sólo escribe lo que

se señala la llave de color rojo):

Declaramos y creamos una variable de memoria titulos del tipo cadena y es un

arreglo. Esta variable titulos se inicializa con los valores “Título de la Película”,

”Categoría”, “Duración(min)” y “Actor Principal”, que serán los títulos de las

columnas del objeto JTable. Luego, con el método setColumnIdentifiers() se

define las columnas con sus respectivos títulos en la variable dtm (modelo del

JTable llamado Tabla). Se vincula el modelo, representado en la variable dtm,

al objeto JTable llamado Tabla. Inhabilitamos los objetos indicados en la

programación y damos el enfoque al botón de comando Nuevo.

24. Procedemos a programar en el botón de comando Nuevo (sólo escribe lo

que se señala la llave de color rojo).

Ing. Mirko Manrique Ronceros Página 30

Page 31: Java - Programación Visual - Mirko Manrique Ronceros.pdf

Universidad Nacional del SantaFacultad de Ingeniería Programación Visual con JavaE.A.P. Sistemas e Informática

25. Procedemos a programar en el botón de comando Agregar (sólo escribe

lo que se señala la llave de color rojo).

Declaramos una variable de memoria llamada datos de tipo String y de tamaño

4. También declaramos una variable entera llamada total. En el primer

elemento del arreglo datos (datos[0]) se asigna el valor ingresado en el cuadro

de texto txtPel (el título de la película). A continuación, se hace uso de

sentencias selectivas IF para evaluar cuál de los objetos JRadioButton ha sido

seleccionado y según el objeto seleccionado se asigna la categoría al segundo

elemento del arreglo datos (datos[1]). En el tercer elemento (datos[2]) y

cuarto elemento (datos[3]) del arreglo datos se asignan la duración y el actor

principal respectivamente. Con el método addRow(), agregamos una fila en el

objeto Table con los datos contenidos en el arreglo datos. Finalmente, en la

variable total se asigna la cantidad de filas de datos que tiene el objeto JTable

haciendo uso del método getRowCount() de la variable objeto dtm. Este

último valor conseguido es visualizado en el cuadro de texto txtTotal a través

del método setText().

26. Luego, procedemos a programar en el botón de comando Eliminar (sólo

escribe lo que se señala la llave de color rojo).

Ing. Mirko Manrique Ronceros Página 31

Page 32: Java - Programación Visual - Mirko Manrique Ronceros.pdf

Universidad Nacional del SantaFacultad de Ingeniería Programación Visual con JavaE.A.P. Sistemas e Informática

Declaramos las variables fila y total de tipo entero. La variable fila se le asigna

el valor de la posición de la fila seleccionada en el objeto Jtable llamado Tabla.

Con la sentencia IF se evalúa a la variable fila si es mayor o igual a cero

procedemos a remover o borrar la fila previamente seleccionada, caso contrario

se muestra un mensaje indicando que se debe seleccionar una fila en la Tabla.

Finalmente, se muestra la cantidad de filas agregadas en el cuadro de texto

txtTotal y haciendo uso del método setRowCount() perteneciente a dtm.

27. Finalmente, programamos en el botón de comando Cerrar.

28. Procedemos a ejecutar el formulario.

Ing. Mirko Manrique Ronceros Página 32

Page 33: Java - Programación Visual - Mirko Manrique Ronceros.pdf

Universidad Nacional del SantaFacultad de Ingeniería Programación Visual con JavaE.A.P. Sistemas e Informática

OBJETOS CONTENEDORES JTABBEDPANEL Y JDESKTOPPANEL

Objeto Contenedor JTabbedPanel

Este componente esta compuesto por un conjunto de paneles que puede almacenar

un contenido en un espacio compacto. Sitio donde ocultamos o revelamos el contenido

almacenado en los paneles con pestañas haciendo click en la pestaña del panel que se

desea acceder. Por ejemplo, para empezar creamos un proyecto, una vez hecho este

paso, vamos al panel del lado derecho donde se encuentran los elementos Swing

Containers y seleccionamos el componente Panel (JPanel) Lo seleccionamos y

soltamos en el Formulario.

Para usar el JTabbedPanel debemos de insertarle un Panel dentro de el mismo ya que

si no lo hacemos, cualquier controles que agreguemos se maximizará apoderándose

de Tab1 y cada control que agreguemos será un nuevo Tab.

Procedemos entonces a agregarle el panel a nuestro JTabbed para poder utilizarlo

correctamente.

Ing. Mirko Manrique Ronceros Página 33

Page 34: Java - Programación Visual - Mirko Manrique Ronceros.pdf

Universidad Nacional del SantaFacultad de Ingeniería Programación Visual con JavaE.A.P. Sistemas e Informática

No

nos olvidemos de ponerle al JPanel su propiedad Aboslute Layout para poder utilizar

los controles libremente dentro de él.

Propiedad más usada:

• Border: Se establece el borde y el título si fuese necesario.

Método más usado:

• setEnabled(): Para habilitar o inhabilitar el uso del objeto.

Objeto Contenedor JDesktopPanel

Este objeto es utilizado más para mejorar el diseño de los formularios. Es un interfaz

más agradable para diseñar las aplicaciones.

Ing. Mirko Manrique Ronceros Página 34

Page 35: Java - Programación Visual - Mirko Manrique Ronceros.pdf

Universidad Nacional del SantaFacultad de Ingeniería Programación Visual con JavaE.A.P. Sistemas e Informática

Como observamos los objetos de control se dibujan encima del objeto JDesktopPanel,

que por defecto es de un fondo de color azul.

Propiedad más usada:

• Background: Para definir el color del objeto JDesktopPanel.

Aplicación

Construye una aplicación que permita ingresar los apellidos, los nombres, el teléfono,

seleccionar el grado de instrucción y el sexo de un alumno. Estos datos se manejarán

en una pestaña del objeto JTabbedPanel. En una segunda pestaña se debe seleccionar

el curso que el alumno quiere matricularse y la forma de pago. A través de un botón

de comando MATRICULAR se llevará los datos a un objeto JTable que se encuentra en

una tercera pestaña. En la pestaña donde se encuentra el objeto JTable se mostrará la

suma de los precios de todos los cursos que el alumno quiere matricularse. Habrá la

posibilidad de quitar o eliminar un curso que el alumno desista llevarlo.

Solución:

1. Creamos un proyecto

denominado

AplicaContenedores. Luego

estando en el entorno de

NetBeans, seleccionamos el

paquete aplicacontenedores y

dando click botón derecho del

mouse, se muestra un menú

flotante, donde seleccionamos

Formulario JFrame.

Ing. Mirko Manrique Ronceros Página 35

Page 36: Java - Programación Visual - Mirko Manrique Ronceros.pdf

Universidad Nacional del SantaFacultad de Ingeniería Programación Visual con JavaE.A.P. Sistemas e Informática

2. A continuación, colocaremos como nombre de formulario frmMatricula.

Luego dar click en el botón de comando Finish (en caso de que la versión de

NetBeans es en castellano entonces dar click en el botón de comando

Terminar).

3. Se muestra el entorno de desarrollo de NetBeans y no olvidemos de dar click en

el botón derecho del mouse sobre el formulario y establece AbsoluteLayout en

SetLayout.

Ing. Mirko Manrique Ronceros Página 36

Page 37: Java - Programación Visual - Mirko Manrique Ronceros.pdf

Universidad Nacional del SantaFacultad de Ingeniería Programación Visual con JavaE.A.P. Sistemas e Informática

4. Procedemos a colocar un objeto de control JLabel con la expresión “MATRICULA

DE CURSOS DE EXTENSION”. Debajo de ésta expresión colocaremos un objeto

JTabbedPanel. Una vez seleccionado el objeto JTabbedPanel de la paleta y lo

ubicamos en el formulario, antes de dar click para que quede dibujado, tiene la

siguiente apariencia:

Al dar click se reduce el tamaño del objeto JTabbedPanel.

Debemos agrandar dicho objeto hasta que quede así:

5. Estando seleccionado el objeto JTabbedPanel, dar click botón derecho del

mouse, seleccionamos la opción Agregar desde Paleta, luego Swing y

elegimos Jpanel.

Ing. Mirko Manrique Ronceros Página 37

Page 38: Java - Programación Visual - Mirko Manrique Ronceros.pdf

Universidad Nacional del SantaFacultad de Ingeniería Programación Visual con JavaE.A.P. Sistemas e Informática

Una vez seleccionado Jpanel se creará una pestaña Tab1 en el objeto

JTabbedPanel.

6. Procedemos a colocar AbsoluteLayout en la opción Set Layout cuando

usemos el botón derecho del mouse sobre el Tab1.

Ing. Mirko Manrique Ronceros Página 38

Page 39: Java - Programación Visual - Mirko Manrique Ronceros.pdf

Universidad Nacional del SantaFacultad de Ingeniería Programación Visual con JavaE.A.P. Sistemas e Informática

7. A continuación, colocaremos un objeto JdesktopPanel encima del Tab1. Una vez

seleccionado el objeto JDesktopPanel de la paleta y lo ubicamos dentro del

Tab1, antes de dar click para que quede dibujado, tiene la siguiente apariencia:

Al dar click se reduce el tamaño del objeto JDesktopPanel.

Ing. Mirko Manrique Ronceros Página 39

Page 40: Java - Programación Visual - Mirko Manrique Ronceros.pdf

Universidad Nacional del SantaFacultad de Ingeniería Programación Visual con JavaE.A.P. Sistemas e Informática

Debemos agrandar dicho objeto hasta que quede así:

8. Comenzamos a colocar

objetos de control de tipo

JLabel, JtextField y

jComboBox. El objeto

JComboBox contendrá como

grado de instrucción a

“<Seleccionar”,”Secundaria” y

“Superior.” También

colocaremos un objeto JPanel

para el sexo del alumno

donde se establecerá el título

y el borde.

Ing. Mirko Manrique Ronceros Página 40

Page 41: Java - Programación Visual - Mirko Manrique Ronceros.pdf

Universidad Nacional del SantaFacultad de Ingeniería Programación Visual con JavaE.A.P. Sistemas e Informática

Este objeto JPanel (Jpanel2) referido a sexo se debe establecer en la propiedad

background, el color que debe ser parecido al color del JDesktopPanel.

9. Una vez establecido el color del JPanel2, procedemos a establecer para éste

objeto JPanel2 el AbsoluteLayout en Set Layout.

Ing. Mirko Manrique Ronceros Página 41

Page 42: Java - Programación Visual - Mirko Manrique Ronceros.pdf

Universidad Nacional del SantaFacultad de Ingeniería Programación Visual con JavaE.A.P. Sistemas e Informática

10. El objeto JPanel2 esta referido al dato sexo, en cambio el objeto JPanel1 está

referido al Tab1. Como debemos colocar un título a la pestaña Tab1 demos

hacer uso de la vista de propiedades del JPanel1. Puedes seleccionar del panel

Navegador (que se encuentra a la izquierda del diseño del formulario) y al dar

click botón derecho del mouse se muestra un menú flotante y seleccionas

propiedades. Vamos a colocar como título de la pestaña “Datos del alumno”.

11. Va

mos a proceder a crear otro Tab. Debemos nuevamente seleccionar el objeto

JTabbedPanel, dar click botón derecho del mouse, seleccionamos la opción

Agregar desde Paleta, luego Swing y elegimos Jpanel.

Una vez seleccionado Jpanel se creará una pestaña Tab2 en el objeto

JTabbedPanel.

Ing. Mirko Manrique Ronceros Página 42

Page 43: Java - Programación Visual - Mirko Manrique Ronceros.pdf

Universidad Nacional del SantaFacultad de Ingeniería Programación Visual con JavaE.A.P. Sistemas e Informática

12. Procedemos a colocar AbsoluteLayout en la opción Set Layout cuando

usemos el botón derecho del mouse sobre el Tab2.

Ing. Mirko Manrique Ronceros Página 43

Page 44: Java - Programación Visual - Mirko Manrique Ronceros.pdf

Universidad Nacional del SantaFacultad de Ingeniería Programación Visual con JavaE.A.P. Sistemas e Informática

13. Colocamos un objeto JDesktopPanel en el Tab2 tal como lo hicimos en

anteriormente. Luego sobre el objeto JDesktopPanel al dar click botón derecho

del mouse, en el menú flotante seleccionamos propiedades.

Ing. Mirko Manrique Ronceros Página 44

Page 45: Java - Programación Visual - Mirko Manrique Ronceros.pdf

Universidad Nacional del SantaFacultad de Ingeniería Programación Visual con JavaE.A.P. Sistemas e Informática

Se establece otro color al objeto JDesktopPanel.

14. Una vez establecido el color para el objeto JDesktopPanel, procedemos a

colocar los objetos de control para el Tab2. Se utilizará un ComboBox para los

cursos que contendrá los nombres siguientes:

15. Utilizaremos un objeto JPanel para la forma de pago (al contado o al pago de

dos cutotas), que una vez dibujado y establecido el borde y el título, debemos

indicar que su Set Layout es AbsoluteLayout.

Ing. Mirko Manrique Ronceros Página 45

Page 46: Java - Programación Visual - Mirko Manrique Ronceros.pdf

Universidad Nacional del SantaFacultad de Ingeniería Programación Visual con JavaE.A.P. Sistemas e Informática

16.Seleccionamos al objeto JPanel3

que pertenece al Tab2 y

definimos el título de la pestaña

tal como se hizo con Tab. Esta

vez el título será “Curso a

Matricularse”. Creamos un Tab3

de la forma cómo se hizo,

también colocamos un objeto

JDesktopPanel, a éste último le

cambiamos el color en la

propiedad background y

posteriormente colocamos los

objetos de control. Se usará un

objeto JTable para visualizar los

cursos matriculados del alumno.

Vamos a colocar los nombres a

cada uno de los objetos de

control para cada Tab del objeto

JTabbedPanel.

Ing. Mirko Manrique Ronceros Página 46

Page 47: Java - Programación Visual - Mirko Manrique Ronceros.pdf

Universidad Nacional del SantaFacultad de Ingeniería Programación Visual con JavaE.A.P. Sistemas e Informática

17. Vamos a proceder a programar. Comenzaremos con hacer uso del

paquete swing y específicamente a las clases JOptionPane y JTable.

Ing. Mirko Manrique Ronceros Página 47

Page 48: Java - Programación Visual - Mirko Manrique Ronceros.pdf

Universidad Nacional del SantaFacultad de Ingeniería Programación Visual con JavaE.A.P. Sistemas e Informática

18. Luego procedemos a crear un modelo para el objeto JTable llamado Tabla a

través de la clase DefaultTableModel. Lo hacemos dentro de la clase

frmNotas. Usar la clase DefaultTableModel es posible gracias al import

javax.swing.table.*;

Declaramos y creamos una variable de memoria dtm del tipo

DefaultTableModel.

19. En el método constructor programamos lo siguiente (sólo escribe lo que

señala la llave de color rojo):

Declaramos y creamos una variable de memoria titulos del tipo cadena y es un

arreglo. Esta variable titulos se inicializa con los valores “Curso Matriculado”,

“Duración”, “Costo”, “Forma de Pago” y “Precio”, que serán los títulos de las

columnas del objeto JTable. Luego, con el método setColumnIdentifiers() se

define las columnas con sus respectivos títulos en la variable dtm (modelo del

JTable llamado Tabla). Se vincula el modelo, representado en la variable dtm,

al objeto JTable llamado Tabla.

20. Procedemos a programar en el botón de comando Nuevo (sólo escribe lo

que se señala la llave de color rojo).

Ing. Mirko Manrique Ronceros Página 48

Page 49: Java - Programación Visual - Mirko Manrique Ronceros.pdf

Universidad Nacional del SantaFacultad de Ingeniería Programación Visual con JavaE.A.P. Sistemas e Informática

Declaramos como variables de memoria i y total de tipo entero. Limpiamos los

cuadros de textos y para los objetos JComboBox damos como ítem

predeterminado a <Seleccionar> (índice activo igual a cero). En la variable

total se cuenta el número de filas del objeto JTable a través de la variable dtm.

Con la sentencia If evaluamos si es mayor a cero y procedemos con la

sentencia for a eliminar fila por fila con el método remove().

21. Luego, procedemos a programar en el botón de comando MATRICULAR

que se encuentra en el Tab2 (Curso a Matricularse).

Declaramos una variable de memoria llamada datos de tipo String y de tamaño

5. También declaramos las variables total, costo e i como enteros y precio

como numérico real. La variable costo se almacena el contenido del cuadro de

texto txtCosto. En el primer elemento del arreglo datos (datos[0]) se asigna

el valor seleccionado del objeto cboCurso. En el segundo elemento del arreglo

datos (datos[1]) se almacena el contenido del cuadro de texto txtDura y en el

tercer elemento (datos[2]) el contenido del cuadro de texto txtCosto. En el

cuarto elemento se almacena el valor “Contado” si la forma de pago es al

contado y en el quinto elemento el costo descontado en 5%. Si la forma de

Ing. Mirko Manrique Ronceros Página 49

Page 50: Java - Programación Visual - Mirko Manrique Ronceros.pdf

Universidad Nacional del SantaFacultad de Ingeniería Programación Visual con JavaE.A.P. Sistemas e Informática

pago es a pagar a cuotas entonces el cuarto elemento se asigna el valor “Pago

de 2 cuotas” y al quinto elemento se asigna el resultado del costo incrementado

en un 10%. Con el método addRow(), agregamos una fila en el objeto JTable

con los datos contenidos en el arreglo datos. En la variable total se asigna la

cantidad de filas de datos que tiene el objeto JTable haciendo uso del método

getRowCount() de la variable objeto dtm. Con la sentencia for buscamos la

suma de los precios en la variable precio. Finalmente asignamos el valor

calculado en precio al cuadro de texto txtPTotal e inicializamos los objetos de

control para la posibilidad de seleccionar otro curso.

Ing. Mirko Manrique Ronceros Página 50

Page 51: Java - Programación Visual - Mirko Manrique Ronceros.pdf

Universidad Nacional del SantaFacultad de Ingeniería Programación Visual con JavaE.A.P. Sistemas e Informática

22. También debemos programar en el objeto cboCurso en el evento

ActionPerformed (sólo escribe lo que se señala la llave de color rojo).

Pretendemos al momento de seleccionar un curso se muestre la duración del

curso y el costo en los cuadros de textos txtDura y txtCosto respectivamente.

23. Procedemos a programar en el botón de comando QUITAR que se encuentra en

el Tab3 (sólo escribe lo que se señala la llave de color rojo).

Declaramos las variables i, fila y total de tipo entero. La variable fila se le

asigna el valor de la posición de la fila seleccionada en el objeto Jtable llamado

Tabla. Con la sentencia IF se evalúa a la variable fila si es mayor o igual a cero

Ing. Mirko Manrique Ronceros Página 51

Page 52: Java - Programación Visual - Mirko Manrique Ronceros.pdf

Universidad Nacional del SantaFacultad de Ingeniería Programación Visual con JavaE.A.P. Sistemas e Informática

procedemos a remover o borrar la fila previamente seleccionada y calculamos la

suma de los precios de todos los cursos mostrándolo en el cuadro de texto

txtPTotal, caso contrario se muestra un mensaje indicando que se debe

seleccionar una fila en la Tabla.

24. Finalmente, programamos en el botón de comando Cerrar.

25. Procedemos a ejecutar el formulario.

Ing. Mirko Manrique Ronceros Página 52

Page 53: Java - Programación Visual - Mirko Manrique Ronceros.pdf

Universidad Nacional del SantaFacultad de Ingeniería Programación Visual con JavaE.A.P. Sistemas e Informática

OBJETOS MENUS JMENUBAR Y JMENUITEMSwing Menus

Aquí podemos ver el árbol de herencia de las clases relacionadas con los menús:

Como se ve en la figura, los ítems de menús (incluidos los propios menús) son simples

botones. Podríamos preguntarnos como un menú, si es sólo un botón, muestra sus

ítems. La respuesta es que cuando se activa un menú, automáticamente trae un menú

desplegable que muestra sus ítems.

Crear y congifurar Barras de Menú

Métodos:

• JMenuBar(): Crea una barra de Menú.

• setJMenuBar(): Selecciona la barra de menú de un Frame interno.

• getJMenuBar(): Obtiene la barra de menú de un Frame interno

Crear y rellenar Menús

Métodos:

• Jmenu(): Crea un Menú a partir de una opción de la barra.

• add(JMenuItem): Crea un ítem de menú al final del menú.

Ing. Mirko Manrique Ronceros Página 53

Page 54: Java - Programación Visual - Mirko Manrique Ronceros.pdf

Universidad Nacional del SantaFacultad de Ingeniería Programación Visual con JavaE.A.P. Sistemas e Informática

• insert(): Inserta un ítem de menú o un separador de menú, en la posición

especificada.

• Remove():Elimina el ítem o ítems especificados del menú. Si el argumento es

un esntero, especifica la posición del ítem a eliminar.

Adición del Menú

Ubicar el cursor en la etiqueta [JFrame], hacer clic en el botón derecho del ratón. Se

desplegará el siguiente menú flotante:

Seleccionamos Add Form Palette (en la versión en castellano debe decir Agregar desde

paleta), luego la opción Swing y finalmente JMenuBar. La interfaz que ese está

desarrollando adopta la siguiente apariencia:

Ing. Mirko Manrique Ronceros Página 54

Page 55: Java - Programación Visual - Mirko Manrique Ronceros.pdf

Universidad Nacional del SantaFacultad de Ingeniería Programación Visual con JavaE.A.P. Sistemas e Informática

En el panel de Inspector (Navegador) debe quedar así:

Cambiamos el nombre de de jManuBar1 por jMenuBar_principal y jMenu1 por

jMenu_archivos. Para esto ubicamos el cursor en la etiqueta respectiva, se hace

click botón derecho del mouse y en el menú flotante desplegado seleccionamos

Change Variable Name. El aspecto del panel Inspector (Navegador) debe ser

ahora el siguiente:

Ing. Mirko Manrique Ronceros Página 55

Page 56: Java - Programación Visual - Mirko Manrique Ronceros.pdf

Universidad Nacional del SantaFacultad de Ingeniería Programación Visual con JavaE.A.P. Sistemas e Informática

Cambiemos ahora el nombre que se despliega en la barra del menú (Menu).

Ubicamos el cursor en la etiqueta el árbol de Inspector sobre jMenu_archivos. Hacer

click botón derecho del mouse; en el menú flotante desplegado, seleccionamos

Properties (en castellano propiedades). Cambiamos en el cuadro desplegado en la

propiedad text, Menu por Archivos. La interfaz gráfica adopta la siguiente forma:

Procedemos a Agregar Ítems al menú Archivos. Ubicamos el cursor en el árbol de

Inpector sobre jMenu_archivos. Hacer click botón derecho del mouse. En el menú

flotante desplegado seleccionemos Add > JMenuItem.

Ing. Mirko Manrique Ronceros Página 56

Page 57: Java - Programación Visual - Mirko Manrique Ronceros.pdf

Universidad Nacional del SantaFacultad de Ingeniería Programación Visual con JavaE.A.P. Sistemas e Informática

El panel inspector (navegador) toma la siguiente forma:

Ing. Mirko Manrique Ronceros Página 57

Page 58: Java - Programación Visual - Mirko Manrique Ronceros.pdf

Universidad Nacional del SantaFacultad de Ingeniería Programación Visual con JavaE.A.P. Sistemas e Informática

Cambiemos el nombre de jMenuItem1 por jMenuItem_abrir.

Si procedemos a compilar y ejecutar la aplicación, vemos que al dar click sobre el

menú Archivos, se observará lo siguiente:

Cambiemos la cadena “Item” desplegada

por la cadena “Abrir”. Ubiquemos el cursor

en el árbol de Inspector sobre

JMenuItem_abrir; en el menú flotante

desplegado seleccionemos Properties

(propiedades) y cambiemos en el nuevo

cuadro desplegado en la propiedad text,

Item por Abrir. Al compilar y ejecutar la

aplicación y dando click sobre el menú

Archivos, se observará lo siguiente:

Ing. Mirko Manrique Ronceros Página 58

Page 59: Java - Programación Visual - Mirko Manrique Ronceros.pdf

Universidad Nacional del SantaFacultad de Ingeniería Programación Visual con JavaE.A.P. Sistemas e Informática

Repetir el procedimiento antes explicado para agregar los ítems: “Guardar” e

“Imprimir”. Las respectivas variables en el árbol o panel de Inspector (Navegador) lo

cambiamos el nombre por: jMenuItem_guardar y jMenuItem_imprimir. Nuevamente

compilamos y ejecutamos la aplicación. El formulario se muestra de la siguiente

manera:

El panel lnspector debe tener ahora el siguiente aspecto:

Vamos a adicionar más menús a la barra de menús. En el árbol de Inspector ubicamos

el cursor sobre jMenuBar y hacer click botón derecho del mouse. En el menú flotante

desplegado escoger Add JMenu. El aspecto de Inspector es el siguiente:

Ing. Mirko Manrique Ronceros Página 59

Page 60: Java - Programación Visual - Mirko Manrique Ronceros.pdf

Universidad Nacional del SantaFacultad de Ingeniería Programación Visual con JavaE.A.P. Sistemas e Informática

El aspecto del diseño del formulario queda así:

Ahora procedamos con el diseño del menú dentro del diseño del formulario. Al

momento de que lo ejecutemos debe quedar el diseño del formulario de la siguiente

forma:

Ing. Mirko Manrique Ronceros Página 60

Page 61: Java - Programación Visual - Mirko Manrique Ronceros.pdf

Universidad Nacional del SantaFacultad de Ingeniería Programación Visual con JavaE.A.P. Sistemas e Informática

Y que el panel Inspector tenga el siguiente aspecto:

Ing. Mirko Manrique Ronceros Página 61

Page 62: Java - Programación Visual - Mirko Manrique Ronceros.pdf

Universidad Nacional del SantaFacultad de Ingeniería Programación Visual con JavaE.A.P. Sistemas e Informática

OBJETOS MENUS JRADIOBUTTONMENUITEM, JSEPARATOR y JMENU

Menus desplegables

Una barra de menú contiene uno o más menús, y tiene una posición dependiente de la

plataforma -- normalmente debajo de la parte superior de la ventana. Un menú

desplegable es un menú que es invisible hasta que el usuario hace una acción del

ratón específica de la plataforma, como pulsar el botón derecho del ratón sobre un

componente. Entonces el menú desplegable aparece bajo el cursor.

Crear y congifurar Barras de Menú

Métodos:

• JMenuBar(): Crea una barra de Menú.

• setJMenuBar(): Selecciona la barra de menú de un Frame interno.

• getJMenuBar(): Obtiene la barra de menú de un Frame interno

Crear y rellenar Menús

Métodos:

• Jmenu(): Crea un Menú a partir de una opción de la barra.

• add(JMenuItem): Crea un ítem de menú al final del menú.

• insert(): Inserta un ítem de menú o un separador de menú, en la posición

especificada.

• Remove():Elimina el ítem o ítems especificados del menú. Si el argumento es

un esntero, especifica la posición del ítem a eliminar.

• AddSeparator(): Añade un separador al final del menú desplegable.

Implementar Items de Menú

Métodos:

• JMenuItem(): Crea un ítem en un menú normal.

• JCheckBoxMenuItem: Crea un ítem de menú que se parece y actúa como un

checkbox.

• JRadioButtonMenuItem: Crea un ítem de menú que se parece y actúa como un

radio buttom. Se puede hacer uso de un ícono.

Ing. Mirko Manrique Ronceros Página 62

Page 63: Java - Programación Visual - Mirko Manrique Ronceros.pdf

Universidad Nacional del SantaFacultad de Ingeniería Programación Visual con JavaE.A.P. Sistemas e Informática

• setEnabled(): Si el argumento es true, activa el ítem de menú, si es false lo

desactiva.

Uso de la clase RadioButton

Los Botones de Radio son grupos de botones en los que, por convención, sólo uno de

ellos puede estar seleccionado. Swing soporta botones de radio con las clases

JRadioButton y ButtonGroup. Para poner un botón de radio en un menú, se utiliza la

clase JRadioButtonMenuItem. Los botones de radio tienen un aspecto similar a los

checkboxes, pero, por convención, los checkboxes no tienen límites sobre cuantos

ítems pueden estar seleccionados a la vez. Como JRadioButton desciende de

AbstractButton, los botones de radio Swing tienen todas las caracterísitcas de los

botones normales.

Aquí podemos ver una imagen de una aplicación que utiliza cinco botones de radio

para elegir qué tipo de mascota mostrar:

Uso de la clase CheckBox

La versión Swing soporta botones checkbox con la clase JCheckBox, Swing también

soporta checkboxes en menús, utilizando la clase JCheckBoxMenuItem. Como

JCheckBox y JCheckBoxMenuItem descienden de AbstractButton, los checkboxes

de Swing tienen todas las características de un botón normal

Adicionar items dentro de los ítems

En la sesión anterior (Tema 10), estuvimos desarrollando el diseño de un menú que

quedó su panel de inspector de la siguiente manera:

Ing. Mirko Manrique Ronceros Página 63

Page 64: Java - Programación Visual - Mirko Manrique Ronceros.pdf

Universidad Nacional del SantaFacultad de Ingeniería Programación Visual con JavaE.A.P. Sistemas e Informática

Ahora vamos a construir un tercer menú algo más complejo. La aplicación una vez

terminado deberá tener las siguientes formas:

Ing. Mirko Manrique Ronceros Página 64

Page 65: Java - Programación Visual - Mirko Manrique Ronceros.pdf

Universidad Nacional del SantaFacultad de Ingeniería Programación Visual con JavaE.A.P. Sistemas e Informática

Y el panel Inspector debe adoptar la siguiente forma:

Ing. Mirko Manrique Ronceros Página 65

Page 66: Java - Programación Visual - Mirko Manrique Ronceros.pdf

Universidad Nacional del SantaFacultad de Ingeniería Programación Visual con JavaE.A.P. Sistemas e Informática

Para lograr esto es necesario adicionar dentro de los JMenu más JMenus. Sólo los

últimos para adicionar en cada rama del árbol del panel Inspector serán los

JMenuItem. Repetir el paso Anterior para que la aplicación una vez ejecutada adopte

la siguiente forma:

Y el panel Inspector se encuentre en el siguiente estado:

Ing. Mirko Manrique Ronceros Página 66

Page 67: Java - Programación Visual - Mirko Manrique Ronceros.pdf

Universidad Nacional del SantaFacultad de Ingeniería Programación Visual con JavaE.A.P. Sistemas e Informática

Ing. Mirko Manrique Ronceros Página 67