Está en la página 1de 17

Universidad los ngeles de Chimbote

Facultad de Ingeniera
Escuela Profesional de Ingeniera de Sistemas Asignatura: Programacin 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 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.

Elaborado por: Ing. Martn Gustavo Salcedo Quiones 1


Universidad los ngeles de Chimbote
Facultad de Ingeniera
Escuela Profesional de Ingeniera de Sistemas Asignatura: Programacin 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.

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

Elaborado por: Ing. Martn Gustavo Salcedo Quiones 2


Universidad los ngeles de Chimbote
Facultad de Ingeniera
Escuela Profesional de Ingeniera de Sistemas Asignatura: Programacin 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. Martn Gustavo Salcedo Quiones 3


Universidad los ngeles de Chimbote
Facultad de Ingeniera
Escuela Profesional de Ingeniera de Sistemas Asignatura: Programacin Visual

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 JScrollPanel


Un 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

BtnMostrar

JPanel
BtnClear

JScrollPanel

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

Elaborado por: Ing. Martn Gustavo Salcedo Quiones 4


Universidad los ngeles de Chimbote
Facultad de Ingeniera
Escuela Profesional de Ingeniera de Sistemas Asignatura: Programacin Visual

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.

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

Elaborado por: Ing. Martn Gustavo Salcedo Quiones 5


Universidad los ngeles de Chimbote
Facultad de Ingeniera
Escuela Profesional de Ingeniera de Sistemas Asignatura: Programacin Visual

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.

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

Elaborado por: Ing. Martn Gustavo Salcedo Quiones 6


Universidad los ngeles de Chimbote
Facultad de Ingeniera
Escuela Profesional de Ingeniera de Sistemas Asignatura: Programacin Visual

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


botn derecho del mouse sobre el formulario y establece AbsoluteLayout en
SetLayout.

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

Elaborado por: Ing. Martn Gustavo Salcedo Quiones 7


Universidad los ngeles de Chimbote
Facultad de Ingeniera
Escuela Profesional de Ingeniera de Sistemas Asignatura: Programacin 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 diseo del
formulario, sino que seleccionamos al objeto JPanel y luego al dar click botn
derecho del mouse, seleccionamos la opcin propiedades.

Elaborado por: Ing. Martn Gustavo Salcedo Quiones 8


Universidad los ngeles de Chimbote
Facultad de Ingeniera
Escuela Profesional de Ingeniera de Sistemas Asignatura: Programacin Visual

8. Seleccionamos la propiedad Border y damos click en el botn de comando


correspondiente a sta propiedad.

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

Elaborado por: Ing. Martn Gustavo Salcedo Quiones 9


Universidad los ngeles de Chimbote
Facultad de Ingeniera
Escuela Profesional de Ingeniera de Sistemas Asignatura: Programacin Visual

10. En ttulo colocamos Categoras de Pelculas.

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


Ttulo).

Elaborado por: Ing. Martn Gustavo Salcedo Quiones 10


Universidad los ngeles de Chimbote
Facultad de Ingeniera
Escuela Profesional de Ingeniera de Sistemas Asignatura: Programacin Visual

12. Posteriormente, seleccionamos el tipo de Borde EtchedBorder.

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.

Elaborado por: Ing. Martn Gustavo Salcedo Quiones 11


Universidad los ngeles de Chimbote
Facultad de Ingeniera
Escuela Profesional de Ingeniera de Sistemas Asignatura: Programacin Visual

Cerrar sta ventana usando el botn de comando Close (Cerrar).

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.

Elaborado por: Ing. Martn Gustavo Salcedo Quiones 12


Universidad los ngeles de Chimbote
Facultad de Ingeniera
Escuela Profesional de Ingeniera de Sistemas Asignatura: Programacin Visual

17. Colocamos cuatro objetos de tipo JRadioButton dentro del objeto Panel,
quedando el diseo 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 segn observamos en el diseo del
formulario. Esta vez vas a agregar un objeto JScrollPanel para colocar dentro de
ella a un objeto JTable.

Elaborado por: Ing. Martn Gustavo Salcedo Quiones 13


Universidad los ngeles de Chimbote
Facultad de Ingeniera
Escuela Profesional de Ingeniera de Sistemas Asignatura: Programacin Visual

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.

Elaborado por: Ing. Martn Gustavo Salcedo Quiones 14


Universidad los ngeles de Chimbote
Facultad de Ingeniera
Escuela Profesional de Ingeniera de Sistemas Asignatura: Programacin Visual

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

Declaramos y creamos una variable de memoria dtm del tipo DefaultTableModel.

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

Elaborado por: Ing. Martn Gustavo Salcedo Quiones 15


Universidad los ngeles de Chimbote
Facultad de Ingeniera
Escuela Profesional de Ingeniera de Sistemas Asignatura: Programacin Visual

seala la llave de color rojo).

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

Elaborado por: Ing. Martn Gustavo Salcedo Quiones 16


Universidad los ngeles de Chimbote
Facultad de Ingeniera
Escuela Profesional de Ingeniera de Sistemas Asignatura: Programacin Visual

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

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.

Elaborado por: Ing. Martn Gustavo Salcedo Quiones 17

También podría gustarte