Está en la página 1de 17

Universidad los Ángeles de Chimbote

Facultad de Ingeniería
Escuela Profesional de Ingeniería de Sistemas Asignatura: Programación Visual

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.

Elaborado por: Ing. Martín Gustavo Salcedo Quiñones 1


Universidad los Ángeles de Chimbote
Facultad de Ingeniería
Escuela Profesional de Ingeniería de Sistemas Asignatura: Programación Visual

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.

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

Elaborado por: Ing. Martín Gustavo Salcedo Quiñones 2


Universidad los Ángeles de Chimbote
Facultad de Ingeniería
Escuela Profesional de Ingeniería de Sistemas Asignatura: Programación Visual

ventana de propiedades como se muestra en la imagen seleccionamos a la propiedad


Border.

Click!

Nos mostrará la siguiente imagen

1. Seleccionar TitledBorder

2. Colocar en Title: Seleccione un Color

3. Click en Ok y Listo

Bien tendremos esto:

Elaborado por: Ing. Martín Gustavo Salcedo Quiñones 3


Universidad los Ángeles de Chimbote
Facultad de Ingeniería
Escuela Profesional de Ingeniería de Sistemas Asignatura: Programación Visual

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

BtnMostrar

JPanel
BtnClear

JScrollPanel

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

Elaborado por: Ing. Martín Gustavo Salcedo Quiñones 4


Universidad los Ángeles de Chimbote
Facultad de Ingeniería
Escuela Profesional de Ingeniería de Sistemas Asignatura: Programación Visual

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.

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).

Elaborado por: Ing. Martín Gustavo Salcedo Quiñones 5


Universidad los Ángeles de Chimbote
Facultad de Ingeniería
Escuela Profesional de Ingeniería de Sistemas Asignatura: Programación Visual

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.

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

Elaborado por: Ing. Martín Gustavo Salcedo Quiñones 6


Universidad los Ángeles de Chimbote
Facultad de Ingeniería
Escuela Profesional de Ingeniería de Sistemas Asignatura: Programación Visual

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.

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:”.

Elaborado por: Ing. Martín Gustavo Salcedo Quiñones 7


Universidad los Ángeles de Chimbote
Facultad de Ingeniería
Escuela Profesional de Ingeniería de Sistemas Asignatura: Programación Visual

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.

Elaborado por: Ing. Martín Gustavo Salcedo Quiñones 8


Universidad los Ángeles de Chimbote
Facultad de Ingeniería
Escuela Profesional de Ingeniería de Sistemas Asignatura: Programación Visual

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.

Elaborado por: Ing. Martín Gustavo Salcedo Quiñones 9


Universidad los Ángeles de Chimbote
Facultad de Ingeniería
Escuela Profesional de Ingeniería de Sistemas Asignatura: Programación Visual

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

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


Título).

Elaborado por: Ing. Martín Gustavo Salcedo Quiñones 10


Universidad los Ángeles de Chimbote
Facultad de Ingeniería
Escuela Profesional de Ingeniería de Sistemas Asignatura: Programación Visual

12. Posteriormente, seleccionamos el tipo de Borde EtchedBorder.

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.

Elaborado por: Ing. Martín Gustavo Salcedo Quiñones 11


Universidad los Ángeles de Chimbote
Facultad de Ingeniería
Escuela Profesional de Ingeniería de Sistemas Asignatura: Programación Visual

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

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.

Elaborado por: Ing. Martín Gustavo Salcedo Quiñones 12


Universidad los Ángeles de Chimbote
Facultad de Ingeniería
Escuela Profesional de Ingeniería de Sistemas Asignatura: Programación Visual

17. Colocamos cuatro objetos de tipo JRadioButton dentro del objeto Panel,
quedando el diseño del formulario así:

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.

Elaborado por: Ing. Martín Gustavo Salcedo Quiñones 13


Universidad los Ángeles de Chimbote
Facultad de Ingeniería
Escuela Profesional de Ingeniería de Sistemas Asignatura: Programación Visual

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.

Elaborado por: Ing. Martín Gustavo Salcedo Quiñones 14


Universidad los Ángeles de Chimbote
Facultad de Ingeniería
Escuela Profesional de Ingeniería de Sistemas Asignatura: Programación Visual

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.*;

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

Elaborado por: Ing. Martín Gustavo Salcedo Quiñones 15


Universidad los Ángeles de Chimbote
Facultad de Ingeniería
Escuela Profesional de Ingeniería de Sistemas Asignatura: Programación Visual

señala la llave de color rojo).

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

Elaborado por: Ing. Martín Gustavo Salcedo Quiñones 16


Universidad los Ángeles de Chimbote
Facultad de Ingeniería
Escuela Profesional de Ingeniería de Sistemas Asignatura: Programación Visual

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).

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.

Elaborado por: Ing. Martín Gustavo Salcedo Quiñones 17

También podría gustarte