Mostrando entradas con la etiqueta ventanas java. Mostrar todas las entradas
sábado, 19 de enero de 2013
Java: Swing: JPasswordField
Francisco
8:40
gui
,
input
,
java
,
jframe
,
jlabel
,
jtextfield
,
por: Francisco Vargas
,
programación java
,
swing
,
ventanas java
9 comentarios
:
Introducción
Desarrollo
Importamos la librería necesaria para utilizar el JPasswordField:
Luego procedemos a crear nuestro método, el ejemplo que daré es de un Login o un área donde colocamos usuario y contraseña para ingresar a una cuenta.
Y con ese método creamos nuestro campo para una contraseña, coloqué un símbolo “mas” ( + ) solo para el ejemplo y para que se conozca el método para cambiar el símbolo pero esa característica es opcional, me gustan más los puntos tradicionales. Bueno luego creamos los JLabel y el JTextField para hacer nuestra ventana de “ingresar” y mi clase final quedaría así:
Como nota, también se puede agregar a un JOptionPane, elementos como paneles, labels, entre otros, acá les dejo un ejemplo para un JOptionPane tipo password.
Documentación: http://docs.oracle.com/javase/8/docs/api/javax/swing/JPasswordField.html
Conclusiones
No mostrar información sensible es un método para salvaguardar a los usuarios que utilicen la aplicación.
Tampoco es bueno exagerar y colocar todo con este tipo de elemento.
import javax.swing.JPasswordField;
Luego procedemos a crear nuestro método, el ejemplo que daré es de un Login o un área donde colocamos usuario y contraseña para ingresar a una cuenta.
// Espacio para ingresar la contraseña
private JPasswordField jpfContrasenia() {
// Se inicializa el Objeto
JPasswordField contrasenia = new JPasswordField();
// Asignamos posición y tamaño
contrasenia.setBounds(200, 80, 150, 20);
// Colocamos un símbolo personalizado(opcional)
// Si no lo colocamos aparecen los puntitos predeterminados
contrasenia.setEchoChar('+');
// Le asignamos un texto emergente cuando nos posamos encima del objeto
contrasenia.setToolTipText("Ingrese Contraseña");
return contrasenia;
}
Y con ese método creamos nuestro campo para una contraseña, coloqué un símbolo “mas” ( + ) solo para el ejemplo y para que se conozca el método para cambiar el símbolo pero esa característica es opcional, me gustan más los puntos tradicionales. Bueno luego creamos los JLabel y el JTextField para hacer nuestra ventana de “ingresar” y mi clase final quedaría así:
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JPasswordField;
import javax.swing.JTextField;
@SuppressWarnings("serial")
public class Password extends JFrame {
public Password() {
add(ingresarUsuario());
add(ingresarContrasenia());
add(jtaUsuario());
add(jpfContrasenia());
inicializador();
}
// Inicializador de la Ventana
private void inicializador() {
setSize(400, 200);
setLayout(null);
setTitle("Login");
setLocationRelativeTo(null);
setVisible(true);
setResizable(false);
setDefaultCloseOperation(EXIT_ON_CLOSE);
}
// Texto que indica donde va el nombre de Usuario
private JLabel ingresarUsuario() {
JLabel usuario = new JLabel("Nombre de Usuario: ");
usuario.setBounds(30, 30, 200, 20);
return usuario;
}
// Texto que indica donde va la contraña
private JLabel ingresarContrasenia() {
JLabel contrasenia = new JLabel("Contrasenia: ");
contrasenia.setBounds(30, 80, 200, 20);
return contrasenia;
}
// Espacio para ingresar el nombre de usuario
private JTextField jtaUsuario() {
JTextField usuario = new JTextField();
usuario.setBounds(200, 30, 150, 20);
usuario.setToolTipText("Ingrese Nombre de Usuario");
return usuario;
}
// Espacio para ingresar la contraseña
private JPasswordField jpfContrasenia() {
// Se inicializa el Objeto
JPasswordField contrasenia = new JPasswordField();
// Asignamos posición y tamaño
contrasenia.setBounds(200, 80, 150, 20);
// Colocamos un símbolo personalizado(opcional)
contrasenia.setEchoChar('-');
// Le asignamos un texto emergente cuando nos posamos encima del objeto
contrasenia.setToolTipText("Ingrese Contraseña");
return contrasenia;
}
public static void main(String[] args) {
new Password();
}
}
Como nota, también se puede agregar a un JOptionPane, elementos como paneles, labels, entre otros, acá les dejo un ejemplo para un JOptionPane tipo password.
// Objeto que hará que aparezcan los puntitos en la contraseña en vez de // los caracteres ingresados JPasswordField pwd = new JPasswordField(); // Primero null, luego pwd que es nuestro objeto jpassfield acá // puedes colocar paneles, label entre otros objetos, nombre del // titulo de la ventana, tipo de botones, sin icono JOptionPane.showConfirmDialog(null, pwd, "Enter Password",JOptionPane.OK_CANCEL_OPTION, JOptionPane.PLAIN_MESSAGE);
Documentación: http://docs.oracle.com/javase/8/docs/api/javax/swing/JPasswordField.html
Conclusiones
No mostrar información sensible es un método para salvaguardar a los usuarios que utilicen la aplicación.
Tampoco es bueno exagerar y colocar todo con este tipo de elemento.
miércoles, 5 de diciembre de 2012
Java: Swing: JLabel
Francisco
10:57
gui
,
imagenes en java
,
java
,
jframe
,
jlabel
,
por: Francisco Vargas
,
programación java
,
swing
,
ventanas java
No hay comentarios
:
Introducción
Bien, mi método de un JLabel sencillo sería el siguiente (se supone que ya tenemos un JFrame creado para poder agregarlo, sino mira acá):
Para agregar un JLabel con una imagen podríamos hacer algo como esto por ejemplo:
Y bueno esto es lo básico de los JLabel, acá les dejo la Documentación de Java por si desean saber más: http://docs.oracle.com/javase/8/docs/api/javax/swing/JLabel.html
Conclusiones
Los JLabel son textos que podemos colocar en un Frame, pero además de textos podemos colocar imágenes (animadas o no) para darle una buena presentación a nuestra ventana, los JLabel a mi parecer son esenciales al momento de crear una interfaz de usuario.
Desarrollo
Primero para crear un JLabel necesitamos importar la librería necesaria para eso:
import javax.swing.JLabel;
Ahora por orden y para que se vea bien crearemos un método para cada JLabel que queremos introducir a nuestro frame de manera tal que sea más fácil su ubicación y posterior modificación, esto lo digo porque por internet, se encuentran códigos que tienen todo en el constructor y en ocasiones tienden a confundir y se ve desordenado por eso de mi parte lo encontrarán en métodos separados.
Bien, mi método de un JLabel sencillo sería el siguiente (se supone que ya tenemos un JFrame creado para poder agregarlo, sino mira acá):
//JLabel que agrega un texto
private JLabel verJLabel() {
//Se crea el objeto JLabel
JLabel ejemplo = new JLabel();
//Le asignamos un texto
ejemplo.setText("HOLA MUNDO!!");
//Le damos una ubicación dentro del Frame
ejemplo.setBounds(30, 10, 400, 200);
//Le asignamos un tipo de Tipografía
ejemplo.setFont(new Font("Arial", 0, 18));
return ejemplo;
}
Para agregar un JLabel con una imagen podríamos hacer algo como esto por ejemplo:
// JLabel que agrega un texto
private JLabel verImagenJLabel() {
// Se crea el objeto JLabel
JLabel ejemplo = new JLabel(new ImageIcon("src/ejemplo.PNG"));
// Le damos una ubicación dentro del Frame
ejemplo.setBounds(200, 10, 400, 200);
return ejemplo;
}
Como ven los JLabel nos van a ayudar mucho en el desarrollo de nuestras interfaces, mi clase de ejemplo quedaría así:
import java.awt.Font;
import javax.swing.ImageIcon;
import javax.swing.JFrame;
import javax.swing.JLabel;
@SuppressWarnings("serial")
public class JFrames extends JFrame {
public JFrames() {
add(verJLabel());
add(verImagenJLabel());
inicializador();
}
private void inicializador() {
setSize(800, 600);
setLayout(null);
setTitle("Mi ventana");
setLocationRelativeTo(null);
setVisible(true);
setResizable(false);
setDefaultCloseOperation(EXIT_ON_CLOSE);
}
// JLabel que agrega un texto
private JLabel verJLabel() {
// Se crea el objeto JLabel
JLabel ejemplo = new JLabel();
// Le asignamos un texto
ejemplo.setText("HOLA MUNDO!!");
// Le damos una ubicación dentro del Frame
ejemplo.setBounds(30, 10, 200, 200);
// Le asignamos un tipo de Tipografía
ejemplo.setFont(new Font("Arial", 0, 18));
return ejemplo;
}
// JLabel que agrega un texto
private JLabel verImagenJLabel() {
// Se crea el objeto JLabel
JLabel ejemplo = new JLabel(new ImageIcon("src/ejemplo.PNG"));
// Le damos una ubicación dentro del Frame
ejemplo.setBounds(200, 10, 400, 200);
return ejemplo;
}
}
Y bueno esto es lo básico de los JLabel, acá les dejo la Documentación de Java por si desean saber más: http://docs.oracle.com/javase/8/docs/api/javax/swing/JLabel.html
Conclusiones
Los JLabel son elementos que siempre o en la mayoría de los casos tendremos que utilizar y tendremos que tratar con ellos una y otra vez.
Para un mejor orden dividir todas nuestras funcionalidades en métodos, para que así se pueda manejar y modificar de mejor manera el código.
lunes, 28 de noviembre de 2011
Java: JOptionPane: Botones personalizados.
Francisco
20:04
confirm dialog
,
input
,
java
,
joptionpane
,
optionDialog
,
por: Francisco Vargas
,
programación java
,
ventanas java
6 comentarios
:
Introducción
Desarrollo
Luego que lo importamos procedemos a hacer un vector String (también se puede usar un Object para quien lo prefiere) que contendrá nuestros textos de los botones, lo creamos de la siguiente manera:
- El tipo de dato String u Object, en el primero y segundo caso respectivamente..
- El nombre de nuestro vector, que yo llamé botones.
- La inicialización del texto de nuestros botones, estos van entre comillas, separados por comas y finalmente encerrados entre llaves.
- Resaltar que el Object acá funciona como un String.
Luego de declarar nuestros nombres de botones procedemos a crear la ventana de diálogo con la siguiente sentencia:
Muchas veces necesitamos que nuestros cuadros de diálogo tengan texto personalizados y no los predeterminados de Java, por ese motivo en esta entrada se explicará como hacerlo de una manera fácil y rápida.
Desarrollo
Para crear nuestros botones personalizados (en cuanto a texto se refiere), primero tenemos que importar el JOptionPane así:
import javax.swing.JOptionPane;
Luego que lo importamos procedemos a hacer un vector String (también se puede usar un Object para quien lo prefiere) que contendrá nuestros textos de los botones, lo creamos de la siguiente manera:
String [] botones = { " boton uno", " boton dos", "boton N" };
Object [] botones = { " boton uno", " boton dos", "boton N" };
Partes que conforman la inicializacion del vector:- El tipo de dato String u Object, en el primero y segundo caso respectivamente..
- El nombre de nuestro vector, que yo llamé botones.
- La inicialización del texto de nuestros botones, estos van entre comillas, separados por comas y finalmente encerrados entre llaves.
- Resaltar que el Object acá funciona como un String.
Luego de declarar nuestros nombres de botones procedemos a crear la ventana de diálogo con la siguiente sentencia:
int variable = JOptionPane.showOptionDialog (null, " Quieres bailar esta noche?", "Cita", JOptionPane.YES_NO_CANCEL_OPTION, JOptionPane.WARNING_MESSAGE, null/*icono*/, botones, botones[0]);
Ahora se desglosará estas lineas de código:
- Creación de una variable tipo entero que recibirá nuestra opción seleccionada
- Sentencia JOptionPane.showOptionDialog
- null, en este caso no precisa poner nada
- El texto a mostrar ( Quieres bailar esta noches?)
- Titulo de nuestra ventana ( Cita )
- Tipo de botones de confirmación aunque no importa mucho cual pongan, acá se explican mejor los tipos.
- Tipo de mensaje, se explica mejor acá.
- EL icono si vamos a poner uno personalizado sino el null para decir que seleccione el del tipo de mensaje, para colocar uno personalizado click acá.
- El nombre de nuestro vector inicializado.
- La posición en los botones que queremos que nuestra ventana marque como predeterminado ( 0 , 1 , ... , - 1)
Nuestra ventana se vería así una vez terminada:
Conclusiones
Java proporciona maneras muy fáciles para la creación de ventanas con JOptionPane, además de maneras simples para personalizarlas.
JOptionPane es una librería muy útil para mensajes rápidos y sin mucha complejidad.
- La posición en los botones que queremos que nuestra ventana marque como predeterminado ( 0 , 1 , ... , - 1)
Nuestra ventana se vería así una vez terminada:
Como pueden observar la posición donde está el "boton uno", esta remarcada y es diferente a los demás bonotes eso sucede porque es el predeterminado, esto se elije cuando hace la escritura del código para estas ventanas ( ver el desglose del código punto 10 ).
Conclusiones
Java proporciona maneras muy fáciles para la creación de ventanas con JOptionPane, además de maneras simples para personalizarlas.
JOptionPane es una librería muy útil para mensajes rápidos y sin mucha complejidad.
domingo, 27 de noviembre de 2011
Java: JOptionPane: Colocar iconos personalizados
Francisco
17:18
confirm dialog
,
iconos
,
iconos personalizados
,
input
,
java
,
jcombox
,
joptionpane
,
joptionpane confirm
,
optionDialog
,
por: Francisco Vargas
,
programación java
,
showConfirmDialog
,
ventanas java
24 comentarios
:
Introducción
Para colocar iconos, ya sean animados o no, en nuestros ventanas de JOptionPane (algunas no lo aceptan), se importan las librerías Icon e ImageIcon, las líneas para esto se presentan a continuación:
Una vez que los importamos procedemos a inicializar nuestro icono:
La sentencia anterior se descompone en los siguientes elementos:
- Nuestro Icon que lo importamos anteriormente
- el nombre de nuestro objeto
- new, para la creación de nuevo objeto en la instancia
- ImageIcon que lo habíamos importado anteriormente
showMessageDialog:
showOptionDialog:
showInputDialog (JCombox):
showConfirmDialog:
En el caso del JCombox y en el caso del OptionDialog si no se va a poner un icono se coloca un null.
Conclusiones
Colocar iconos personalizados es sumamente sencillo y puede dar un aspecto más profesional a nuestra aplicación.
No es bueno colocar imágenes muy grandes debido a que la ventana en sí es pequeña, ni tampoco es bueno colocar imágenes que distraigan al usuario (como animaciones y demás).
Cuando se programa cada quién quiere darle su "toque" personal a su aplicación, en entradas anteriores hemos visto como utilizar ventanas de diálogo de la libería de java JOptionPane, hoy veremos como personalizar el icono de estas con alguna imagen que nosotros queramos utilizar.
Desarrollo
Para colocar iconos, ya sean animados o no, en nuestros ventanas de JOptionPane (algunas no lo aceptan), se importan las librerías Icon e ImageIcon, las líneas para esto se presentan a continuación:
import javax.swing.Icon; import javax.swing.ImageIcon;
Una vez que los importamos procedemos a inicializar nuestro icono:
Icon icono = new ImageIcon(getClass().getResource("ruta local de la imagen"));
La sentencia anterior se descompone en los siguientes elementos:
- Nuestro Icon que lo importamos anteriormente
- el nombre de nuestro objeto
- new, para la creación de nuevo objeto en la instancia
- ImageIcon que lo habíamos importado anteriormente
- la ruta completa de la imagen, esta va entre comillas y con la extensión de la imagen: gift, png entre otras, esto es para que el programa sepa donde ir a buscar la imagen.
Luego para utilizar a nuestra imagen en diversos tipos de ventanas se utilizaría el siguiente código:
showMessageDialog:
JOptionPane.showMessageDialog(null," Aprendiendo a poner imagenes ", "Imagen Java", JOptionPane.PLAIN_MESSAGE, icono);
showOptionDialog:
JOptionPane.showOptionDialog(null, "¿Queres salir a Bailar esta Noche?","Sita", JOptionPane.YES_NO_CANCEL_OPTION, JOptionPane.WARNING_MESSAGE, icono, botones, botones[0]);
showInputDialog (JCombox):
Object opcion = JOptionPane.showInputDialog(null,"Selecciona un color", "Elegir",JOptionPane.QUESTION_MESSAGE, icono ,colores, colores[0]);
showConfirmDialog:
JOptionPane.showConfirmDialog(null, "Realmente desea salir de Hola Swing?", "Confirmar salida", JOptionPane.YES_NO_OPTION, JOptionPane.QUESTION_MESSAGE, icono);
En el caso del JCombox y en el caso del OptionDialog si no se va a poner un icono se coloca un null.
Conclusiones
Colocar iconos personalizados es sumamente sencillo y puede dar un aspecto más profesional a nuestra aplicación.
No es bueno colocar imágenes muy grandes debido a que la ventana en sí es pequeña, ni tampoco es bueno colocar imágenes que distraigan al usuario (como animaciones y demás).
sábado, 26 de noviembre de 2011
Java: JOptionPane: MessageDialog e InputDialog
Francisco
21:38
input
,
java
,
joptionpane
,
message
,
por: Francisco Vargas
,
programación java
,
ventanas java
No hay comentarios
:
Introducción
En esta entrada entenderemos el funcionamiento de dos de estos componentes, el messageDialog y el inputDialog.
Desarrollo
Las partes que lo componen son:
- null, que por lo general siempre se pone.
- "Hola mundo", ese es el texto o que queremos mostrar al usuario.
- "Mensaje", es el encabezado de nuestra ventana por decirlo de otra manera el titulo
- El tipo de icono que queremos que ponga la ventana en caso que no le pongamos una imagen, si se desea utilizar una predeterminada, existen las siguientes
- INFORMATION_MESSAGE, coloca un símbolo de admiración encerrado en un circulo.
- QUESTION_MESSAGE, coloca un símbolo de pregunta
Conclusiones
Estas ventanas con una manera de irse introduciendo a la parte de interfaz de usuario con la que cuenta java, además que pueden ser muy útiles dentro de aplicaciones grandes.
Por otro lado, brindan una mayor calidad a los trabajos realizados y no consumen demasiados recursos ni son difíciles de programar.
Cuando ya queremos dejar la consola de java a un lado y empezar a generar una interfaz de usuario más agradable, lo primero que nos encontramos son con lo cuadros de diálogo de la librería JOptionPane de java.
En esta entrada entenderemos el funcionamiento de dos de estos componentes, el messageDialog y el inputDialog.
Desarrollo
Para utilizar estos componentes de se debe importar la librería correspondiente, lo cual se enseña en el siguiente código:
import javax.swing.JOptionPane;
Ahora sí, aprenderemos a usar lo componentes iniciando con el messageDialog, con el siguiente código se genera un mensaje a mostrar al usuario.
JOptionPane.showMessageDialog(null, "Hola mundo", "Mensaje", JOptionPane.INFORMATION_MESSAGE, icono);
Las partes que lo componen son:
- null, que por lo general siempre se pone.
- "Hola mundo", ese es el texto o que queremos mostrar al usuario.
- "Mensaje", es el encabezado de nuestra ventana por decirlo de otra manera el titulo
- El tipo de icono que queremos que ponga la ventana en caso que no le pongamos una imagen, si se desea utilizar una predeterminada, existen las siguientes
- INFORMATION_MESSAGE, coloca un símbolo de admiración encerrado en un circulo.
- QUESTION_MESSAGE, coloca un símbolo de pregunta
- WARNING_MESSAGE, coloca un símbolo de admiración en un triangulo 
- ERROR_MESSAGE, coloca una equis roja
- PLAIN_MESSAGE, no coloca ningún símbolo.
- ERROR_MESSAGE, coloca una equis roja
- PLAIN_MESSAGE, no coloca ningún símbolo.
- icono, este es opcional, si no se quiere que lleve ningún icono personalizado simplemente no se coloca.
Si quieres poner un icono mira en el siguiente link Iconos personalizados.
La ventana se miraría así:
La ventana se miraría así:
Y con esto ya aprendimos como utilizar el componente messageDialog.
Los inputDialog se utilizan para que el usuario introduzca algún valor, para luego utilizarlo en alguna función de nuestra aplicación, en este caso lo que se ingrese, sea letras, números, caracteres especiales, siempre van a ser tratados como una cadena.
Y lleva los mismos componentes que los messageDialog, por tanto no se volverán a explicar, lo único diferente es que se le asigna a una variable el valor que retorne el inputDialog.
Esta ventana se vería así:
Para utilizarlos se coloca el siguiente código:
String introducido = JOptionPane.showInputDialog(null,"Ingresa tu nombre","Informacion", JOptionPane.QUESTION_MESSAGE);
Y lleva los mismos componentes que los messageDialog, por tanto no se volverán a explicar, lo único diferente es que se le asigna a una variable el valor que retorne el inputDialog.
Esta ventana se vería así:
Estas ventanas con una manera de irse introduciendo a la parte de interfaz de usuario con la que cuenta java, además que pueden ser muy útiles dentro de aplicaciones grandes.
Por otro lado, brindan una mayor calidad a los trabajos realizados y no consumen demasiados recursos ni son difíciles de programar.
Suscribirse a:
Entradas
(
Atom
)