programacion visual con java 2

Upload: eduardo-cadenas-sarabia

Post on 06-Jul-2015

882 views

Category:

Documents


1 download

TRANSCRIPT

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 RoncerosPrimera Edicin

INDICEUso del Objeto JFrame Objetos Contenedores Jpanel y JScrollPanel Objeto Jpanel Objeto JSCrollPanel Objetos Contenedores JTabbedPanel y JDesktoPanel Objeto JTabberPanel Objeto JDesktopPanel Objetos Mens JMenBar y JMenItem Objeto JMenBar Objeto JMenItem Objetos Mens JRadioButtonMenItem, JSeparador y Jmen Objeto JRadioButtonMenItem Objeto JSeparador Objeto JMen 03 17 17 19 33 33 34 53 53 53 62 63 63 63

Universidad Nacional del Santa Facultad de Ingeniera E.A.P. Sistemas e Informtica

Programacin Visual con Java

USO DEL OBJETO JFRAMEObjeto de Control JFrameHasta 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 aplicacin. En este objeto podemos situar todos los dems componentes que necesitemos para el desarrollo de la interfase de nuestra aplicacin.

En la figura anterior muestra la jerarqua de herencia de este componente desde Object, que es el padre de todas las clases de Java. Los mtodos estarn repartidos a lo largo de toda la jerarqua. As por ejemplo, resulta intuitivo que debiera haber un mtodo para cambiar el color de fondo del formulario, pero l no tiene ningn mtodo para ello, lo tiene Componet. Propiedades ms usadas:

Title: Permite definir el ttulo del formulario, es decir, la etiqueta de la la barra de ttulo.

Ing. Mirko Manrique Ronceros

Pgina

3

Universidad Nacional del Santa Facultad de Ingeniera E.A.P. Sistemas e Informtica

Programacin Visual con Java

Font: Se establece el tipo de letra y el tamao que servir de base a cualquier expresin que se coloque con cualquier objeto de control dentro del formulario.

Enabled: Permite habiltar o inhabilitar el uso del objeto.

Mtodos ms usados:

setTitle(): Aade el ttutlo en el formulario. setSize(): Establece el tamao del formulario. setLocation(): Establece la ubicacin 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 ttulo 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

Pgina

4

Universidad Nacional del Santa Facultad de Ingeniera E.A.P. Sistemas e Informtica

Programacin Visual con Java

Aplicacin Construye una aplicacin 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 agregarn 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 mtodos de la clase Jframe. Solucin:

1. Procedemos a crear un proyecto denominado Prctica, la misma quecontendr al paquete prctica. A partir de ste paquete vamos a crear un formulario con el objeto Jframe, seleccionando dicho paquete y al dar click con el botn derecho del mouse se muestra un men flotante. Seleccionemos Formulario JFrame.

2. A continuacin, colocaremos como nombre al formulario frmPostulante. Luego dar click en el botn de comando Finish (en caso de que la versin de NetBeans es en castellano entonces dar click en el botn de comando Terminar).

Ing. Mirko Manrique Ronceros

Pgina

5

Universidad Nacional del Santa Facultad de Ingeniera E.A.P. Sistemas e Informtica

Programacin Visual con Java

3. Se muestra el entorno de desarrollo de NetBeans y no olvidemos de dar click enel botn derecho del mouse sobre el formulario y establece AbsoluteLayout en SetLayout.

Ing. Mirko Manrique Ronceros

Pgina

6

Universidad Nacional del Santa Facultad de Ingeniera E.A.P. Sistemas e Informtica

Programacin Visual con Java

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

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

6. Los objetos de control en el diseo del formaulario tienen los siguientes nombres:

Ing. Mirko Manrique Ronceros

Pgina

7

Universidad Nacional del Santa Facultad de Ingeniera E.A.P. Sistemas e Informtica

Programacin Visual con Java

7. Ahora bien, si observamos en el diseo del formulario, los cuatro objetos JListno tienen tems. Los objetos JList referidos a Postulante, Buenas, Malas y Puntaje, se llenarn de tems al momento de usar el botn de comando Agregar. Siendo cutro JList entonces necesitamos cuatro modelos del tipo DefaultListModel, uno para cada Jlist, para lo cual debemos incluir en el cdigo de la programacin el paquete swing con la siguiente instruccin:

Ahora

procedemos

a

escribir

la

definicin

de

las

variables

del

tipo

DefaultListModel en la clase frmPostulante.

Ing. Mirko Manrique Ronceros

Pgina

8

Universidad Nacional del Santa Facultad de Ingeniera E.A.P. Sistemas e Informtica

Programacin Visual con Java

8. Una vez definido las 4 variables de memoria del tipo DefaultListModel, en elmtodo 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 mtodo setTitle() para definir el ttulo del formulario en la barra de ttulo cuya expresin es Postulantes al Examen de Admisin. Tambin hacemos que los botones de comando Agregar y Eliminar se inhabilite su uso desde la ejecucin de la aplicacin. Los cuadros de textos txtPost, txtBien y txtMal deben inhabilitarse su uso en el momento de la ejecucin. Haremos uso de los mtodos del objeto JFrame llamdados setSize() y setLocation() para darle el tamao apropiado al formulario y ubicacin dentro de la pantalla. El operador this hace referencia al formulario frmPostulante. Slo escribe lo que seala la llave de color rojo.

9. Procedemos a definir cuatro atributos o propiedades para la clasefrmPostulante. Las lneas de cdigo programacin lo puedes escribir despus de las lneas de cdigo que definieron a las cuatro variables de tipo DefaultListModel.

Ing. Mirko Manrique Ronceros

Pgina

9

Universidad Nacional del Santa Facultad de Ingeniera E.A.P. Sistemas e Informtica

Programacin Visual con Java

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 definicin construir permitan dar de los los y atributos, vamos a mtodos que nos obtener el valor a cada uno de los atributos. Comenzaremos por los y atributos menor los mayor

definiendo siguientes mtodos:

Ing. Mirko Manrique Ronceros

Pgina 10

Universidad Nacional del Santa Facultad de Ingeniera E.A.P. Sistemas e Informtica

Programacin Visual con Java

El mtodo setMayor() tiene un parmetro llamado m de tipo double y con el operador void significa que no tiene el mtodo valor de retorno. Este mtodo sirvir almacenar en el atributo mayor el valor del parmetro m. En cambio el mtodo getMayor() no tiene parmetro pero su valor de retorno es double, es decir, que ste mtodo arroja o se puede obtener el valor almacenado en el atributo mayor. Lo mismo sucede para los mtodos setMenor() y getMenor(). Vamos a proceder a crear los mtodos para los atributos postMay y postMen.

11. Vamos a proceder a programar en el botn de comando Nuevo.

Ing. Mirko Manrique Ronceros

Pgina 11

Universidad Nacional del Santa Facultad de Ingeniera E.A.P. Sistemas e Informtica

Programacin Visual con Java

12. Ahora programemos en el botn 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 segn el valor de las preguntas bien y mal contestadas. Con la sentencia IF evala que la cantidad de preguntas contestadas no superen a 100. Si no supera a 100 procedemos agregar en las cajas de listas a travs de las variables de tipo DefaultListModel. 13. Programemos en el objeto JList denominado lstPost en el evento ValueChanged. En esta programacin 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 dems cajas de listas. Se finaliza habilitando el uso del botn de comando Eliminar.

Ing. Mirko Manrique Ronceros

Pgina 12

Universidad Nacional del Santa Facultad de Ingeniera E.A.P. Sistemas e Informtica

Programacin Visual con Java

14.

Programemos en el botn de comando Eliminar en el evento Eliminamos lo seleccionado con el mtodo remove perteneciente a los modelos de cada caja de lista.

15. Es hora de crear el segundo formulario. Para ello seleccionamos el paqueteprctica y en la opcin New (nuevo) elegimos Formulario JFrame. A ste formulario se llamar frmConsulta, siendo el diseo el siguiente:

16.

Es

necesario

que

los

objetos

JRadioButton

pertenezcan

a

un

ButtonGroup.

Ing. Mirko Manrique Ronceros

Pgina 13

Universidad Nacional del Santa Facultad de Ingeniera E.A.P. Sistemas e Informtica

Programacin Visual con Java

17.

Procedemos a colocar los nombres a los objetos de control.

18. El formulario frmConsulta ser activado al momento de dar click en el botn decomando btnConsultar del primer formulario frmPostulante. Volvamos al primer formulario y programemos en el botn Consultar.

Ing. Mirko Manrique Ronceros

Pgina 14

Universidad Nacional del Santa Facultad de Ingeniera E.A.P. Sistemas e Informtica

Programacin Visual con Java

La programacin se inicia con la declaracin 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 travs 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 posicin (ndice) dentro de la caja de lista correspondiente al mayor puntaje. Luego con el mtodo setMayor() se asigna el valor de la variable may al atributo mayor perteneciente a la clase frmPostulante. La misma idea se hace con el mtodo 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 travs de los mtodos setPostMay() y setPostMen(), los valores que se encuentra en pmay y pmen. A continuacin, se declara y se instancia la variable form2 de tipo frmConsulta, es decir, se crea una variable form2 que tiene los mismos atributos y mtodos del formulario frmConsulta. Posteriormente con los mtodos getMayor(), getMenor(), getPostMay() y getPostMen() se pasan los valores a los atributos a la variable objeto form2. Luego con el mtodo show() hacemos que el segundo formulario se muestre. 19. Volvamos al segundo formulario y comenzamos a programar. Definamos los atributos y la programacin en el mtodo constructor. Los atributos definidos al inicio de la clase frmConsulta nos permitir recibir los valores o datos del primer formulario. La programacin agregada en el mtodo constructor define el ttulo del formulario con la expresin Consulta del Mayor y Menor Puntaje, se establece el tamao del formulario frmConsulta y finalmente la localizacin dentro de la pantalla.

Ing. Mirko Manrique Ronceros

Pgina 15

Universidad Nacional del Santa Facultad de Ingeniera E.A.P. Sistemas e Informtica

Programacin Visual con Java

20.

Programemos en el botn 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

Pgina 16

Universidad Nacional del Santa Facultad de Ingeniera E.A.P. Sistemas e Informtica

Programacin Visual con Java

OBJETOS CONTENEDORES JPANEL Y JSCROLLPANELSwing ContainersLos objetos pertenecientes a Swing Containers, son objetos que permiten agrupar a otros objetos y facilitan el manejo de ciertos procesos dentro de una aplicacin. 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 JPanelEste 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

Pgina 17

Universidad Nacional del Santa Facultad de Ingeniera E.A.P. Sistemas e Informtica

Programacin Visual con Java

Despus de hacer esto soltamos y si hacemos click en otro lado del rea del formulario ntese 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

Pgina 18

Universidad Nacional del Santa Facultad de Ingeniera E.A.P. Sistemas e Informtica

Programacin Visual con Java

Bien tendremos esto:

Propiedad ms usada:

Border: Se establece el borde y el ttulo si fuese necesario.

Mtodo ms usado: setEnabled(): Para habilitar o inhabilitar el uso del objeto.

Objeto Contenedor JScrollPanelUn objeto ScrollPanel permite ubicar dentro de ella uno o varios objetos que comnmente 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 posicin otro componente dentro del Jpanel. Haremos que cuando cargue el formulario cargue un texto dentro de un Frame

Ing. Mirko Manrique Ronceros

Pgina 19

Universidad Nacional del Santa Facultad de Ingeniera E.A.P. Sistemas e Informtica

Programacin Visual con Java

Si colocamos el siguiente cdigo en el botn de comando Mostrar: private void BtnMostrarActionPerformed(java.awt.event.ActionEvent evt) { lblTexto.setText(Observa que el cdigo de ejemplo selecciona el tamao preferido del contenedor del panel desplazable. Una alternativa sera seleccionar el tamao preferido del propio panel desplazable. De cualquier modo, se est limitando el tamao del panel desplazable. Esto es necesario porque el tamao preferido de un panel desplazable es ser tan grande como pueda); } Para el botn 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

Pgina 20

Universidad Nacional del Santa Facultad de Ingeniera E.A.P. Sistemas e Informtica

Programacin Visual con Java

Aplicacin Construye una aplicacin que permita ingresar el ttulo de una pelcula, seleccionar su categora que puede ser Comedia, accin, Dibujos animados o Drama. Adems se debe ingresar la duracin en minutos de la pelcula 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 nmero de pelculas ingresadas. Solucin: 1. Creamos un proyecto denominado Ejercicios.

Luego dar click en el botn 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 botn derecho del mouse se muestra un men flotante, donde seleccionamos Formulario Jframe.

Ing. Mirko Manrique Ronceros

Pgina 21

Universidad Nacional del Santa Facultad de Ingeniera E.A.P. Sistemas e Informtica

Programacin Visual con Java

3. A continuacin, colocaremos como nombre de formulario frmPeliculas. Luego dar click en el botn de comando Finish (en caso de que la versin de NetBeans es en castellano entonces dar click en el botn de comando Terminar).

4. Se muestra el entorno de desarrollo de NetBeans y no olvidemos de dar click enel botn derecho del mouse sobre el formulario y establece AbsoluteLayout en SetLayout.

Ing. Mirko Manrique Ronceros

Pgina 22

Universidad Nacional del Santa Facultad de Ingeniera E.A.P. Sistemas e Informtica

Programacin Visual con Java

5. Procedemos a colocar un objeto de control Jlabel con la expresin PELICULA: y al lado derecho un cuadro de texto JTextField.

6. Colocamos

un

objeto

contenedor

JPanel

por

debajo

de

la

expresin

PELICULA:.

7. Procedemos

a

utilizar

la

ventana de propiedades del objeto Jpanel. No vamos a usar la ficha de propiedades que se encuentra del sino al del la al lado del que objeto Mouse, opcin derecho formulario, seleccionamos botn derecho diseo

JPanel y luego al dar click seleccionamos propiedades.

Ing. Mirko Manrique Ronceros

Pgina 23

Universidad Nacional del Santa Facultad de Ingeniera E.A.P. Sistemas e Informtica

Programacin Visual con Java

8. Seleccionamos la propiedad Border y damos click en el botn de comandocorrespondiente a sta propiedad.

9. A continuacin, seleccionamos como borde disponible a TitledBorder.

10.

En ttulo colocamos Categoras de Pelculas.

Ing. Mirko Manrique Ronceros

Pgina 24

Universidad Nacional del Santa Facultad de Ingeniera E.A.P. Sistemas e Informtica

Programacin Visual con Java

11.

Ahora procedemos a definir el borde (propiedad que se encuentra encima de Ttulo).

12.

Posteriormente, seleccionamos el tipo de Borde EtchedBorder.

Ing. Mirko Manrique Ronceros

Pgina 25

Universidad Nacional del Santa Facultad de Ingeniera E.A.P. Sistemas e Informtica

Programacin Visual con Java

13.

Luego de dar click en el botn de comando OK, queda definido el Borde y el ttulo.

14.

Volvemos a dar click en el botn de comando OK y regresamos a la ventana de propiedades del JPanel. Cerrar sta ventana usando el botn de comando Close (Cerrar).

Ing. Mirko Manrique Ronceros

Pgina 26

Universidad Nacional del Santa Facultad de Ingeniera E.A.P. Sistemas e Informtica

Programacin Visual con Java

15.

El diseo 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 diseo del formulario as:

Ing. Mirko Manrique Ronceros

Pgina 27

Universidad Nacional del Santa Facultad de Ingeniera E.A.P. Sistemas e Informtica

Programacin Visual con Java

18. No olvidemos de crear un objeto ButtonGroup e indicar para cada objetoJRadioButton en su propiedad ButtonGroup que pertenecen a ButtonGroup1.

19.

Seguimos agregando los objetos de control segn observamos en el diseo un del objeto formulario. Esta vez vas a agregar JScrollPanel para colocar dentro de ella a un objeto JTable.

Ing. Mirko Manrique Ronceros

Pgina 28

Universidad Nacional del Santa Facultad de Ingeniera E.A.P. Sistemas e Informtica

Programacin Visual con Java

20.

A continuacin colocamos un objeto JTable. Los nombres de los objetos de control son tal como se aprecia en el siguiente diseo de formulario.

21.

Vamos a proceder a programar. Comenzamos con hacer uso del paquete swing y especficamente a las clases JOptionPane y a la clase JTable.

22. Luego procedemos a crear un modelo para el objeto JTable llamado Tabla atravs 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

Pgina 29

Universidad Nacional del Santa Facultad de Ingeniera E.A.P. Sistemas e Informtica

Programacin Visual con Java

Declaramos 23.

y

creamos

una

variable

de

memoria

dtm

del

tipo

DefaultTableModel. En el mtodo constructor programamos lo siguiente (slo escribe lo que se seala 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 Ttulo de la Pelcula, Categora, Duracin(min) y Actor Principal, que sern los ttulos de las columnas del objeto JTable. Luego, con el mtodo setColumnIdentifiers() se define las columnas con sus respectivos ttulos 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 programacin y damos el enfoque al botn de comando Nuevo. 24. Procedemos a programar en el botn de comando Nuevo (slo escribe lo que se seala la llave de color rojo).

Ing. Mirko Manrique Ronceros

Pgina 30

Universidad Nacional del Santa Facultad de Ingeniera E.A.P. Sistemas e Informtica

Programacin Visual con Java

25.

Procedemos a programar en el botn de comando Agregar (slo escribe lo que se seala la llave de color rojo).

Declaramos una variable de memoria llamada datos de tipo String y de tamao 4. Tambin 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 ttulo de la pelcula). A continuacin, se hace uso de sentencias selectivas IF para evaluar cul de los objetos JRadioButton ha sido seleccionado y segn el objeto seleccionado se asigna la categora 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 duracin y el actor principal respectivamente. Con el mtodo 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 mtodo getRowCount() de la variable objeto dtm. Este ltimo valor conseguido es visualizado en el cuadro de texto txtTotal a travs del mtodo setText(). 26. Luego, procedemos a programar en el botn de comando Eliminar (slo escribe lo que se seala la llave de color rojo).Ing. Mirko Manrique Ronceros Pgina 31

Universidad Nacional del Santa Facultad de Ingeniera E.A.P. Sistemas e Informtica

Programacin Visual con Java

Declaramos las variables fila y total de tipo entero. La variable fila se le asigna el valor de la posicin de la fila seleccionada en el objeto Jtable llamado Tabla. Con la sentencia IF se evala 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 mtodo setRowCount() perteneciente a dtm. 27. Finalmente, programamos en el botn de comando Cerrar.

28.

Procedemos a ejecutar el formulario.

Ing. Mirko Manrique Ronceros

Pgina 32

Universidad Nacional del Santa Facultad de Ingeniera E.A.P. Sistemas e Informtica

Programacin Visual con Java

OBJETOS CONTENEDORES JTABBEDPANEL Y JDESKTOPPANELObjeto Contenedor JTabbedPanelEste 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 pestaas haciendo click en la pestaa 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 apoderndose 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

Pgina 33

Universidad Nacional del Santa Facultad de Ingeniera E.A.P. Sistemas e Informtica

Programacin Visual con Java

No

nos olvidemos de ponerle al JPanel su propiedad Aboslute Layout para poder utilizar los controles libremente dentro de l. Propiedad ms usada:

Border: Se establece el borde y el ttulo si fuese necesario. setEnabled(): Para habilitar o inhabilitar el uso del objeto.

Mtodo ms usado:

Objeto Contenedor JDesktopPanelEste objeto es utilizado ms para mejorar el diseo de los formularios. Es un interfaz ms agradable para disear las aplicaciones.

Ing. Mirko Manrique Ronceros

Pgina 34

Universidad Nacional del Santa Facultad de Ingeniera E.A.P. Sistemas e Informtica

Programacin Visual con Java

Como observamos los objetos de control se dibujan encima del objeto JDesktopPanel, que por defecto es de un fondo de color azul. Propiedad ms usada: Background: Para definir el color del objeto JDesktopPanel.

Aplicacin Construye una aplicacin que permita ingresar los apellidos, los nombres, el telfono, seleccionar el grado de instruccin y el sexo de un alumno. Estos datos se manejarn en una pestaa del objeto JTabbedPanel. En una segunda pestaa se debe seleccionar el curso que el alumno quiere matricularse y la forma de pago. A travs de un botn de comando MATRICULAR se llevar los datos a un objeto JTable que se encuentra en una tercera pestaa. En la pestaa 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. Solucin:

1. Creamosdenominado

un

proyecto Luego de el

AplicaContenedores. estando NetBeans, en el

entorno

seleccionamos

paquete aplicacontenedores y dando click botn derecho del mouse, se muestra un men flotante, donde seleccionamos Formulario JFrame.

Ing. Mirko Manrique Ronceros

Pgina 35

Universidad Nacional del Santa Facultad de Ingeniera E.A.P. Sistemas e Informtica

Programacin Visual con Java

2. A continuacin, colocaremos como nombre de formulario frmMatricula.Luego dar click en el botn de comando Finish (en caso de que la versin de NetBeans es en castellano entonces dar click en el botn de comando Terminar).

3. Se muestra el entorno de desarrollo de NetBeans y no olvidemos de dar click enel botn derecho del mouse sobre el formulario y establece AbsoluteLayout en SetLayout.

Ing. Mirko Manrique Ronceros

Pgina 36

Universidad Nacional del Santa Facultad de Ingeniera E.A.P. Sistemas e Informtica

Programacin Visual con Java

4. Procedemos a colocar un objeto de control JLabel con la expresin MATRICULA DE CURSOS DE EXTENSION. Debajo de sta expresin 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 tamao del objeto JTabbedPanel.

Debemos agrandar dicho objeto hasta que quede as:

5. Estando seleccionado el objeto JTabbedPanel, dar click botn derecho delmouse, seleccionamos la opcin Agregar desde Paleta, luego Swing y elegimos Jpanel.

Ing. Mirko Manrique Ronceros

Pgina 37

Universidad Nacional del Santa Facultad de Ingeniera E.A.P. Sistemas e Informtica

Programacin Visual con Java

Una vez seleccionado Jpanel se crear una pestaa Tab1 en el objeto JTabbedPanel.

6. Procedemos a colocar AbsoluteLayout en la opcin Set Layout cuandousemos el botn derecho del mouse sobre el Tab1.

Ing. Mirko Manrique Ronceros

Pgina 38

Universidad Nacional del Santa Facultad de Ingeniera E.A.P. Sistemas e Informtica

Programacin Visual con Java

7. A continuacin, 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 tamao del objeto JDesktopPanel.

Ing. Mirko Manrique Ronceros

Pgina 39

Universidad Nacional del Santa Facultad de Ingeniera E.A.P. Sistemas e Informtica

Programacin Visual con Java

Debemos agrandar dicho objeto hasta que quede as:

8. ComenzamosJLabel, jComboBox. grado de

a JtextField El

colocar y objeto a

objetos de control de tipo

JComboBox contendr como instruccin JMenuItem.

Ing. Mirko Manrique Ronceros

Pgina 56

Universidad Nacional del Santa Facultad de Ingeniera E.A.P. Sistemas e Informtica

Programacin Visual con Java

El panel inspector (navegador) toma la siguiente forma:

Ing. Mirko Manrique Ronceros

Pgina 57

Universidad Nacional del Santa Facultad de Ingeniera E.A.P. Sistemas e Informtica

Programacin Visual con Java

Cambiemos el nombre de jMenuItem1 por jMenuItem_abrir.

Si procedemos a compilar y ejecutar la aplicacin, 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 en Inspector el men sobre flotante JMenuItem_abrir; desplegado

seleccionemos

Properties

(propiedades) y cambiemos en el nuevo cuadro desplegado en la propiedad text, Item por Abrir. Al compilar y ejecutar la aplicacin y dando click sobre el men Archivos, se observar lo siguiente:

Ing. Mirko Manrique Ronceros

Pgina 58

Universidad Nacional del Santa Facultad de Ingeniera E.A.P. Sistemas e Informtica

Programacin Visual con Java

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 aplicacin. El formulario se muestra de la siguiente manera:

El panel lnspector debe tener ahora el siguiente aspecto:

Vamos a adicionar ms mens a la barra de mens. En el rbol de Inspector ubicamos el cursor sobre jMenuBar y hacer click botn derecho del mouse. En el men flotante desplegado escoger Add JMenu. El aspecto de Inspector es el siguiente:

Ing. Mirko Manrique Ronceros

Pgina 59

Universidad Nacional del Santa Facultad de Ingeniera E.A.P. Sistemas e Informtica

Programacin Visual con Java

El aspecto del diseo del formulario queda as:

Ahora procedamos con el diseo del men dentro del diseo del formulario. Al momento de que lo ejecutemos debe quedar el diseo del formulario de la siguiente forma:

Ing. Mirko Manrique Ronceros

Pgina 60

Universidad Nacional del Santa Facultad de Ingeniera E.A.P. Sistemas e Informtica

Programacin Visual con Java

Y que el panel Inspector tenga el siguiente aspecto:

Ing. Mirko Manrique Ronceros

Pgina 61

Universidad Nacional del Santa Facultad de Ingeniera E.A.P. Sistemas e Informtica

Programacin Visual con Java

OBJETOS MENUS JRADIOBUTTONMENUITEM, JSEPARATOR y JMENUMenus desplegablesUna barra de men contiene uno o ms mens, y tiene una posicin 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 accin del ratn especfica de la plataforma, como pulsar el botn derecho del ratn sobre un componente. Entonces el men desplegable aparece bajo el cursor. Crear y congifurar Barras de Men Mtodos: 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 Mens Mtodos:

Jmenu(): Crea un Men a partir de una opcin 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 posicin especificada. Remove():Elimina el tem o tems especificados del men. Si el argumento es un esntero, especifica la posicin del tem a eliminar. AddSeparator(): Aade un separador al final del men desplegable.

Implementar Items de Men Mtodos:

JMenuItem(): Crea un tem en un men normal. JCheckBoxMenuItem: Crea un tem de men que se parece y acta como un checkbox. JRadioButtonMenuItem: Crea un tem de men que se parece y acta como un radio buttom. Se puede hacer uso de un cono.

Ing. Mirko Manrique Ronceros

Pgina 62

Universidad Nacional del Santa Facultad de Ingeniera E.A.P. Sistemas e Informtica

Programacin Visual con Java

setEnabled(): Si el argumento es true, activa el tem de men, si es false lo desactiva.

Uso de la clase RadioButtonLos Botones de Radio son grupos de botones en los que, por convencin, slo uno de ellos puede estar seleccionado. Swing soporta botones de radio con las clases JRadioButton y ButtonGroup. Para poner un botn de radio en un men, se utiliza la clase JRadioButtonMenuItem. Los botones de radio tienen un aspecto similar a los checkboxes, pero, por convencin, los checkboxes no tienen lmites sobre cuantos tems pueden estar seleccionados a la vez. Como JRadioButton desciende de AbstractButton, los botones de radio Swing tienen todas las caractersitcas de los botones normales. Aqu podemos ver una imagen de una aplicacin que utiliza cinco botones de radio para elegir qu tipo de mascota mostrar:

Uso de la clase CheckBoxLa versin Swing soporta botones checkbox con la clase JCheckBox, Swing tambin soporta checkboxes en mens, utilizando la clase JCheckBoxMenuItem. Como JCheckBox y JCheckBoxMenuItem descienden de AbstractButton, los checkboxes de Swing tienen todas las caractersticas de un botn normal

Adicionar items dentro de los temsEn la sesin anterior (Tema 10), estuvimos desarrollando el diseo de un men que qued su panel de inspector de la siguiente manera:

Ing. Mirko Manrique Ronceros

Pgina 63

Universidad Nacional del Santa Facultad de Ingeniera E.A.P. Sistemas e Informtica

Programacin Visual con Java

Ahora vamos a construir un tercer men algo ms complejo. La aplicacin una vez terminado deber tener las siguientes formas:

Ing. Mirko Manrique Ronceros

Pgina 64

Universidad Nacional del Santa Facultad de Ingeniera E.A.P. Sistemas e Informtica

Programacin Visual con Java

Y el panel Inspector debe adoptar la siguiente forma:

Ing. Mirko Manrique Ronceros

Pgina 65

Universidad Nacional del Santa Facultad de Ingeniera E.A.P. Sistemas e Informtica

Programacin Visual con Java

Para lograr esto es necesario adicionar dentro de los JMenu ms JMenus. Slo los ltimos para adicionar en cada rama del rbol del panel Inspector sern los JMenuItem. Repetir el paso Anterior para que la aplicacin una vez ejecutada adopte la siguiente forma:

Y el panel Inspector se encuentre en el siguiente estado:

Ing. Mirko Manrique Ronceros

Pgina 66

Universidad Nacional del Santa Facultad de Ingeniera E.A.P. Sistemas e Informtica

Programacin Visual con Java

Ing. Mirko Manrique Ronceros

Pgina 67