Sigueme en Facebook Sigueme en Twitter Sigueme en Instagram Sigueme en Youtube
JC Mouse Bolivia
Index / Java / TextInput – Material Design

TextInput – Material Design

Autor jc mouse jueves, junio 1, 2017

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:

  • MDTextInput-1.0.8-bin.jar La librería de Material Design
  • javadoc\ Documentación

swing

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

library

Paso 3

1. En la sección de “Paleta”, realizar clic derecho → Administrador de paleta…

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.

install library

4. Seleccionar “TextInput” y “TextInputPass”, presionar siguiente

java beans

5. Seleccionar la carpeta “Material Design” y presionar “Terminar” “Cerrar”

material ista

Si siguió todos los pasos correctamente, en la sección de Paleta , debe tener lo siguiente:

swing ganbatte

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:

design project

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:

gui minimalista

Paso 3. Tanto textInput como textInputPass tienen las mismas propiedades que un JTextField, ademas de unas propias:

properties propiedades

  • colorPrimary: Para el color del componente cuando este gane foco
  • counterEnabled: Para mostrar u ocultar el contador de caracteres
  • error: Para colocar el mensaje de error
  • errorEnabled: Para mostrar u ocultar el mensaje de error
  • hint: para el texto de ayuda
  • maxLength: Para indicar el contador máximo de caracteres

Selecciona textInput1 y cambia las siguientes propiedades:

  • maxLength = 16
  • hint = “Nombre de usuario”
  • colorPrimary = [0,102,255]

Selecciona textInputPass1 y cambia las siguientes propiedades:

  • counterEnbled = false
  • hint = “Password”
  • colorPrimary = [0,102,255]

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

google interface

Enlace de descarga

ACTUALIZADO 02/06/2017 v1.0.8

  • Soporte para Look and Feel

Tamaño 69kb

<<LINK ECONÓMICO>>

Enjoy!!!

Tags

Si te ha gustado podrías compartirlo o dejar un comentario. ¡Muchas gracias!
Autor: JC Mouse

Yo soy yo :) JC Mouse, Soy orgullosamente boliviano soy fundador y CEO de la web jc-Mouse.net uno de las pocas web en emprendimiento y tecnología en Bolivia.

Toda la información que encuentres en este sitio es y sera completamente gratis siempre, puedes copiar, descargar y re-publicar si así lo deseas en otros blogs o sitios web, solo te pido a cambio que dejes una referencia a esta web. Esto nos ayuda a crecer y seguir aportando. Bye

Enjoy! :)

También Te Podría Interesar

Funny Sounds: Sonidos divertidos para celular

Funny Sounds: Sonidos divertidos para celular

En este tutorial “Android Bolivia” construiremos nuestra propia aplicación para molestar a los amigos con so...

4 IDEs online para java y mucho más

4 IDEs online para java y mucho más

A continuación te muestro 4 herramientas online para programadores en lenguaje Java y otros lenguajes de programación co...

Minimizar aplicación al SystemTray/Bandeja del Sistema

Minimizar aplicación al SystemTray/Bandeja del Sistema

El SystemTray/Bandeja del Sistema o como también se le llama “Área de Notificación” es la sección de la barr...

SQLite/Java conexión

SQLite/Java conexión

SQLite. SQLite es un sistema de gestión de bases de datos relacional compatible con ACID, contenida en una relativamente...

Crear y mover objetos en tiempo de ejecución

Crear y mover objetos en tiempo de ejecución

Dando respuesta a una interrogante sobre el como crear objetos en tiempo de ejecución y como manipular estos, desarrolle...

Crear componente Switch de Android para Java Swing

Crear componente Switch de Android para Java Swing

En este post crearemos un componente que solo hay en android y que no esta disponible en la paleta de controles de Netbe...

3 comentarios en “TextInput – Material Design”

  1. Leandro dice:

    El mensaje de error no podría aumentar el tamaño de la fuente? Me gustaría saber esto. Gracias

    1. Mouse dice:

      No se puede por el momento, el tamaño es fijo, pero no es una mala idea para una nueva versión, si tienes más sugerencias estamos listos para escucharte

  2. David dice:

    Hola, deberían dar el código fuente libre del MDTextInput aunque es muy fácil de descompilar con diversos programas, me parece que le falta algunas funciones de los Textfield como el arrow posicionado al llamar al método requestfocus y el KeyListener que simplemente no funciona por que se le da al componente y no al jtextfiled que ustedes crean en su clase TextInput, se podría implementar mas fácilmente si dieran acceso a su código o pondrían un get a su jtextfiled, espero puedan implementar esas funciones que creo que ahorraría tiempo a muchos, para no estar descompilando el código y modificarlo para que esten disponibles esas funciones.

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

*

Comparte lo que sabes

Categorias

Últimas entradas

Una Prueba Unitaria, es una forma de comprobar que nuestro código, hace lo que se supone debe hacer; es decir, se asegur...

La prueba del camino básico, es una prueba de “caja blanca” que consiste en verificar el código de nuestros...

Si quieres cambiar el nombre de tus atributos sin tener que reescribir código java por X o Y razón, GSON te permite reno...

Un JList nos permite almacenar objetos en una lista y mostrarlos gráficamente en una serie vertical en el cual el usuari...

Android Bolivia

Bandera en Alto