TextInput es una caja de texto que implementa el estilo de Material Design popular en dispositivos móviles, pero este swing es para aplicaciones de escritorio en java, esta componente viene con su par TextInputPass para contraseñas. La librería es totalmente gratuita y es su «primera versión primera» 🙂 así que es 99% posible que se encuentren errores, si así fuera por favor notificar en los comentarios.
Instalación
Paso 1
Descomprima el archivo RAR en algún sitio de su computadora (Ej.: «C:\Program Files\mis librerias\materialdesign«, «D:\java\librerias\materialdesign«, etc )
En el encontrara 2 archivos:
Paso 2
Con Netbeans abierto:
Dirígete al menú Herramientas → Librerias, se abrira una ventana:
1. Presione el botón «new library…» para crear una nueva librería con el nombre de «Material Design»
2. En la pestaña «Ruta de clases», presionar el botón «Archivo JAR/Carpeta…» y buscar en el disco el archivo MDTextInput-1.0.8-bin.jar del paso 1
3. En la Pestaña «Javadoc» , presionar el boton «Archivo ZIP/Carpeta…» y buscar en disco la carpeta «javadoc» del paso 1
4. Presionar «Aceptar» para guardar la libreria
Paso 3
1. En la sección de «Paleta», realizar clic derecho → Administrador de paleta…
2. En la ventana «Administrador de Paleta«, clic en «Nueva categoría…», en nombre de categoría escribir «Material Design»
3. Presionar el botón «Add from Library…» (Agregar desde librería) → buscar y seleccionar la librería creada en el paso 2, presionar siguiente.
4. Seleccionar «TextInput» y «TextInputPass», presionar siguiente
5. Seleccionar la carpeta «Material Design» y presionar «Terminar» «Cerrar»
Si siguió todos los pasos correctamente, en la sección de Paleta , debe tener lo siguiente:
Aplicación de ejemplo
Para este ejemplo desarrollaremos un formulario de login al estilo Google Mail 🙂
Paso 1. Crea un proyecto en Netbeans llamado «Test Material Design» y agrega un JFrame como se ve en la siguiente imagen:
Utiliza el Look and Feel de «Windows«, es el que mejor se acomoda a este estilo minimalista.
Paso 2. En el diseñador de interfaces, agrega 1 textInput y 1 textInputPass, ademas de 1 botón como se ve a continuación:
Paso 3. Tanto textInput como textInputPass tienen las mismas propiedades que un JTextField, ademas de unas propias:
Selecciona textInput1 y cambia las siguientes propiedades:
Selecciona textInputPass1 y cambia las siguientes propiedades:
Paso 4. Doble clic en el botón (jButton1) para abrir en modo código y pegar el siguiente código:
private void jButton1ActionPerformed(java.awt.event.ActionEvent evt) { if (this.textInput1.getText().trim().length() > 0) { textInput1.setErrorEnabled(false); if (this.textInput1.getText().trim().length() > 16) { textInput1.setError("Longitud maxima de " + textInput1.getMaxLength() + " caracteres"); textInput1.setErrorEnabled(true); } else if (this.textInputPass1.getText().trim().length() > 0) { textInputPass1.setErrorEnabled(false); textInput1.setErrorEnabled(false); JOptionPane.showMessageDialog(this, "Usuario: " + textInput1.getText() + "\n" + "Contraseña: " + textInputPass1.getText() + "\ngracias!!!"); } else { textInputPass1.setError("Debe escribir su contraseña"); textInputPass1.setErrorEnabled(true); } } else { textInput1.setError("Debe escribir su nombre de usuario"); textInput1.setErrorEnabled(true); } }
Ejecutar
Enlace de descarga
ACTUALIZADO 02/06/2017 v1.0.8
Tamaño 69kb
<<LINK ECONÓMICO>>
Enjoy!!!
Para agregar imágenes a un JComboBox, partiremos de un proyecto Netbeans con la siguiente estructura: Tenemos dos clases[...]
En este post crearemos una aplicación en Android Studio para conectarnos con nuestra base de datos de Firebase y leer al[...]
Un algoritmo de búsqueda binaria se emplea para buscar un valor en particular en un arreglo previamente ordenado. Para i[...]
El componente swing JLabel nos permite cargar una imagen con la propiedad setIcon, sin embargo la imagen no toma el tama[...]
En este post crearemos un cliente android para consumir un recurso de un REST API utilizando las librerías GSON y Volley[...]
ASCII acrónimo inglés de American Standard Code for Information Interchange (Código Estándar Estadounidense para el Inte[...]