Programacion Visual Con Java 2
Programacion Visual Con Java 2
Programacion Visual Con Java 2
INDICE
Uso 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
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.
Pgina
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.
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.
Pgina
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:
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).
Pgina
Pgina
4. Procedemos a colocar los objetos de control, tal como lo apreciamos en el siguiente diseo de formulario.
6. Los objetos de control en el diseo del formaulario tienen los siguientes nombres:
Pgina
7. Ahora bien, si observamos en el diseo del formulario, los cuatro objetos JList
no 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
escribir
la
definicin
de
las
variables
del
tipo
Pgina
Pgina
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
Pgina 10
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.
Pgina 11
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.
Pgina 12
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.
16.
Es
necesario
que
los
objetos
JRadioButton
pertenezcan
un
ButtonGroup.
Pgina 13
17.
Pgina 14
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.
Pgina 15
20.
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.
Pgina 16
Pgina 17
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
Pgina 18
Propiedad ms usada:
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
Pgina 19
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.
Pgina 20
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.
Pgina 21
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).
Pgina 22
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
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
Pgina 23
10.
Pgina 24
11.
12.
Pgina 25
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).
Pgina 26
15.
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:
Pgina 27
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.
Pgina 28
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 a
travs de la clase DefaultTableModel. Lo hacemos dentro de la clase frmNotas. Usar la clase DefaultTableModel es posible gracias al import javax.swing.table.*;
Pgina 29
Declaramos 23.
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).
Pgina 30
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
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.
Pgina 32
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.
Pgina 33
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:
Pgina 34
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. Creamos
denominado
un
proyecto Luego de el
entorno
seleccionamos
paquete aplicacontenedores y dando click botn derecho del mouse, se muestra un men flotante, donde seleccionamos Formulario JFrame.
Pgina 35
Pgina 36
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:
Pgina 37
Una vez seleccionado Jpanel se crear una pestaa Tab1 en el objeto JTabbedPanel.
Pgina 38
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:
Pgina 39
8. Comenzamos
JLabel, jComboBox. grado de
a JtextField El
colocar y objeto a
JComboBox contendr como instruccin <Seleccionar,Secundaria y Superior. para el sexo del Tambin alumno colocaremos un objeto JPanel donde se establecer el ttulo y el borde.
Pgina 40
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.
Pgina 41
10. El objeto JPanel2 esta referido al dato sexo, en cambio el objeto JPanel1 est
referido al Tab1. Como debemos colocar un ttulo a la pestaa Tab1 demos hacer uso de la vista de propiedades del JPanel1. Puedes seleccionar del panel Navegador (que se encuentra a la izquierda del diseo del formulario) y al dar click botn derecho del mouse se muestra un men flotante y seleccionas propiedades. Vamos a colocar como ttulo de la pestaa Datos del alumno.
11.
Va
mos a proceder a crear otro Tab. Debemos nuevamente seleccionar el objeto JTabbedPanel, dar click botn derecho del mouse, seleccionamos la opcin Agregar desde Paleta, luego Swing y elegimos Jpanel. Una vez seleccionado Jpanel se crear una pestaa Tab2 en el objeto JTabbedPanel.
Pgina 42
Pgina 43
13.
Colocamos un objeto JDesktopPanel en el Tab2 tal como lo hicimos en anteriormente. Luego sobre el objeto JDesktopPanel al dar click botn derecho del mouse, en el men flotante seleccionamos propiedades.
Pgina 44
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 ttulo, debemos indicar que su Set Layout es AbsoluteLayout.
Pgina 45
16. Seleccionamos al objeto JPanel3 que pertenece al Tab2 y definimos el ttulo de la pestaa tal como se hizo con Tab. Esta vez de el la ttulo forma ser cmo Curso se a Matricularse. Creamos un Tab3 hizo, tambin colocamos un objeto JDesktopPanel, a ste ltimo le cambiamos propiedad el color en la y los background colocamos
posteriormente
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.
Pgina 46
17.
Vamos a proceder a programar. Comenzaremos con hacer uso del paquete swing y especficamente a las clases JOptionPane y JTable.
Pgina 47
18. Luego procedemos a crear un modelo para el objeto JTable llamado Tabla a
travs de la clase DefaultTableModel. Lo hacemos dentro de la clase frmNotas. Usar la clase DefaultTableModel es posible gracias al import javax.swing.table.*;
Declaramos 19.
creamos
una
variable
de
memoria
dtm
del
tipo
DefaultTableModel. En el mtodo constructor programamos lo siguiente (slo escribe lo que 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 Curso Matriculado, Duracin, Costo, Forma de Pago y Precio, 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. 20. Procedemos a programar en el botn de comando Nuevo (slo escribe lo que se seala la llave de color rojo).
Pgina 48
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 nmero de filas del objeto JTable a travs 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 mtodo remove(). 21. Luego, procedemos a programar en el botn de comando MATRICULAR que se encuentra en el Tab2 (Curso a Matricularse). Declaramos una variable de memoria llamada datos de tipo String y de tamao 5. Tambin declaramos las variables total, costo e i como enteros y precio como numrico 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 Pgina 49
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 mtodo 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 mtodo 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.
Pgina 50
22. Tambin
debemos
programar
en
el
objeto
cboCurso
en
el
evento
ActionPerformed (slo escribe lo que se seala la llave de color rojo). Pretendemos al momento de seleccionar un curso se muestre la duracin del curso y el costo en los cuadros de textos txtDura y txtCosto respectivamente.
Declaramos las variables i, 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
Ing. Mirko Manrique Ronceros Pgina 51
procedemos a remover o borrar la fila previamente seleccionada y calculamos la suma de los precios de todos los cursos mostrndolo 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 botn de comando Cerrar.
25.
Pgina 52
Como se ve en la figura, los tems de mens (incluidos los propios mens) son simples botones. Podramos preguntarnos como un men, si es slo un botn, muestra sus tems. La respuesta es que cuando se activa un men, automticamente trae un men desplegable que muestra sus tems. 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.
Pgina 53
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.
Adicin del Men Ubicar el cursor en la etiqueta [JFrame], hacer clic en el botn derecho del ratn. Se desplegar el siguiente men flotante:
Seleccionamos Add Form Palette (en la versin en castellano debe decir Agregar desde paleta), luego la opcin Swing y finalmente JMenuBar. La interfaz que ese est desarrollando adopta la siguiente apariencia:
Pgina 54
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 botn derecho del mouse y en el men flotante desplegado seleccionamos Change Variable Name. El aspecto del panel Inspector (Navegador) debe ser ahora el siguiente:
Pgina 55
Ubicamos el cursor en la etiqueta el rbol de Inspector sobre jMenu_archivos. Hacer click botn 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 grfica adopta la siguiente forma:
Procedemos a Agregar tems al men Archivos. Ubicamos el cursor en el rbol de Inpector sobre jMenu_archivos. Hacer click botn derecho del mouse. En el men flotante desplegado seleccionemos Add > JMenuItem.
Pgina 56
Pgina 57
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:
Pgina 58
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:
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:
Pgina 59
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:
Pgina 60
Pgina 61
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.
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.
Pgina 62
Pgina 63
Ahora vamos a construir un tercer men algo ms complejo. La aplicacin una vez terminado deber tener las siguientes formas:
Pgina 64
Pgina 65
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:
Pgina 66
Pgina 67