Ir al contenido principal

Compartir componentes entre formularios

Cuando se realizan aplicaciones donde se están abriendo varios JFrames (formularios), estos pueden compartir información entre ellos, puede ser para validar datos, para habilitar o inhabilitar opciones, etc. 

En este ejemplo se creara un formulario para iniciar sesión, a través de la validación de un usuario y su clave, se habilitara la opción para agregar o quitar usuarios en el sistema.

1.- Crear un nuevo proyecto y seguir los pasos que se vieron en el post sobre Interfaces de múltiples documentos, de forma tal que el proyecto quede como se muestra en la siguiente imagen.


2.- Dentro del JPanel de Iniciar sesión se creara una interfaz semejante a la que se muestra a continuación, donde se tendran un JTextField para el usuario y un JPasswordField para la clave o contraseña, este componente tiene la particularidad de que cuando el usuario escribe dentro de el no se muestran los caracteres escritos, sino que se muestran solo *.



3.- Una vez creado el JPanel para iniciar sesión se crea el objeto correspondiente dentro del MDIPrincipal, y posteriormente se agrega el contenido dentro del JInternalFrame para poder visualizarse posteriormente.


4.- Dentro del menú iniciar sesión se hace visible el JInternalFrame para poder iniciar sesión.


5.- Dentro del MDIPrincipal para que el JInternalFrame de iniciar sesión pueda tener acceso al menú item de usuarios hay que cambiar el modificador de acceso de private a protected para que otras clases dentro del package tengan acceso a estos componentes.


6.- Ya que se modifico el acceso se desactiva el atributo enabled para que al iniciar la aplicación este este inhabilitado y el usuario no pueda acceder a ciertos formularios, hasta que el usuario no valide su identidad.


7.- En el JPanel Iniciar sesión se crea un nuevo constructor que recibirá como parámetro un objeto de tipo MDIPrincipal, donde se encuentra el JMenuItem que se va a habilitar cuando el usuario es valido.


8.- Ya que se creo el nuevo constructor del JPanel, se modifica el MDIPrincipal agregando la palabra this como parámetro al momento de crear el objeto, de esta forma todos los componentes public o protected del MDIPrincipal serán accesibles desde el JPanel Iniciar sesión.




9.- Dentro del JButton Entrar se realiza una comparación sencilla entre el contenido del jtfUsuario y el jpfClave, verificando que sean iguales a los valores fijos "usuario" y "123", en caso de ser así mostrara un mensaje y después habilitara el jmiUsuarios del MDIPrincial.

La validación mostrada aquí solo es con fines demostrativos, esta se puede sustituir  realizando una consulta a una base de datos para verificar si el usuario existe y si la contraseña es correcta.


10.- Al ejecutar la aplicación se puede observar como el JMenuItem de usuarios esta inhabilitado.


11.- En el JInternaFrame de iniciar sesión se realiza la validación del usuario y si ambos valores son correctos entonces se habilitara el JMenuItem de Usuarios del MDIPrincipal.


12.- Al mostrarse el mensaje de usuario valido, también se ha habilitado el menu item de usuarios


13.- Como se comento anteriormente ya se habilito la opción para visualizar el formulario de Usuarios.

Comentarios

Entradas más populares de este blog

Creación de Librerías en Java

Creación de Librerías en Java   Las librerías son un conjunto de clases con funciones especificas que ayudan a desarrollar aplicaciones más complejas de una forma sencilla, por ejemplo si se requiere realizar cálculos matemáticos y emplear el funciones como el Seno o Coseno, simplemente se importa la librería Math y se utilizan estos métodos, en lugar de desarrollarlos. Java cuenta con una extensa lista de librerías disponibles dentro del JDK o desarrolladas por terceros, pero también existe la posibilidad de desarrollar librerías propias para reutilizar de forma más eficiente el código, por ejemplo si se trabaja de forma cotidiana con conexión a base de datos, se pueden desarrollar métodos genéricos que realicen la conexión, que validen las consultas, etc. de forma que su uso reduzca el tiempo de desarrollo e incremente la productividad. Para este tutorial se van a crear dos proyectos en NetBeans, uno sera la librería y el otro proyecto hará uso de esta.

Elegir la clase a ejecutar en NetBeans, MVC

Elegir la clase a ejecutar en NetBeans Para que java pueda ejecutar una aplicación esta debe tener un método conocido como punto de entrada, este método tiene la sintaxis: void static void main(String [] sax){ //código } En ocasiones en una aplicación tiene varios puntos de entrada, que pueden servir para probar diferentes partes de la aplicación sin tener que recorrer o pasar por varias clases, para esto se puede seleccionar directamente en las propiedades del proyecto que clase será la principal.

Librerías JOptionPane para generar ventanas de entrada y salida de datos

Para poder introducir datos leídos desde el teclado existen varias formas, una de ellas hace uso de la librería javax.swing.JOptionPane que entre otras opciones permite mostrar ventanas para introducir datos, y ventanas para mostrar valores. Con el uso de esta librería se crean pequeñas interfaces definidas por el sistema, pero ya se hace uso de las librerías graficas swing, que se verán más adelante.