Formulario en Java
Formulario en Java
Una plataforma de desarrollo en Java: sea Eclipse, sea Netbeans, pero por favor para este ejemplo usa Eclipse.
2.
br />
Con el nombre: EjemploLogin (en realidad puede ser el nombre que ustedes quieran), luego hacemos click en Finish
(por ahora no haremos click en el botn Next > porque por el momento no nos interesa).
Ahora bien, para poder realizar un buen trabajo necesitamos agregar un archivo .jar necesario para poder
conectarnos al gesto MySql que tengamos instalado. En este caso hago uso del mysql-connector-java, el cual lo
puedes descargar desde aqu.
Para agregar dicho conector primero haremos anti-click en el directorio de nuestro proyecto, y seleccionamos la opcin
Build Path y luego Configure Build Path, de esta forma:
Seleccionamos la pestaa Libraries (por si no est seleccionada), y haremos click en el botn Add External
JARs, y luego exploramos hasta encontrar la ubicacin del conector que acabamos de descargar, y le hacemos
doble-click al archivo .jar.
De esta manera se aaden archivos .jar al proyecto. La finalidad de esto es obvia: sin este archivo no podramos
conectar a MySql, en otras palabras, lo que acabamos de agregar es un driver de conexin.
Muy bien, empezaremos luego a crear los paquetes necesarios para una mejor organizacin de nuestro cdigo,
separando de esta manera las clases de conexin y manejo de datos con las de interfaz grfica de usuario,
simplemente haciendo anti-click en el directorio src del proyecto, seleccionamos New y luego hacemos click en
Package.
As debe quedar.
Llegados hasta ah, iremos a la consola o interfaz grfica que tengamos para crear nuestra base de datos en MySql. El
cdigo es el siguiente:
Cdigo:
ver fuente
imprimir?
1
USE bd_samplelogin;
);
package isma.db;
02
03
import java.sql.Connection;
04
import java.sql.DriverManager;
05
import java.sql.SQLException;
06
07
08
09
10
11
public DbConnection() {
12
try {
13
14
Class.forName("com.mysql.jdbc.Driver");
15
16
17
catch(SQLException e){
18
System.out.println(e);
19
20
catch(ClassNotFoundException e){
System.out.println(e);
21
}
22
23
24
25
26
27
28
}
29
}
30
package isma.db;
0
2
import java.sql.*;
0
3
0
4
0
5
DbConnection cn;
0
6
public DbUsuario() {
cn = new DbConnection();
0
7
0
8
0
9
1
0
int registros = 0;
1
1
try {
1
2
1
3
1
4
1
5
res.next();
1
6
registros = res.getInt("cont");
1
7
res.close();
1
8
1
9
catch(SQLException e){
2
0
System.out.println(e);
2
1
2
2
2
3
2
4
int usu_id;
2
5
2
6
2
7
try {
2
8
2
9
3
0
3
1
3
2
int i = 0;
3
3
while(res.next()){
3
4
usu_id = res.getInt("tm_idusuario");
3
5
usu_login = res.getString("tm_login");
3
6
usu_password = res.getString("tm_password");
3
7
data[i][0] = usu_id;
3
8
data[i][1] = usu_login;
3
9
data[i][2] = usu_password;
4
0
i++;
4
1
4
2
res.close();
4
3
4
4
catch(SQLException e){
4
5
System.out.println(e);
}
4
6
4
7
4
8
return data;
}
4
9
5
0
La clase DbUsuario contiene (como podrn haber visto) una funcin llamada UsuarioAcceder, la cual recibir
dos parmetros: el usuario y la clave de acceso.
Si el usuario y la clave no se encuentran al momento de realizarse la consulta, o los datos ingresados son incorrectos,
o simplemente no existen en la base, por lo tanto al objeto de array bidimensional data no se le asignar valores, y
si se les asignar cuando los datos sean correctos.
No hay mucho que comentar sobre el anterior cdigo, salvo indicar que la consulta anterior a la del acceso sirve para
definir la cantidad de tems que contendr inicialmente la variable data, ya que en Java los arrays de objetos deben
ser inicializados antes de ser usados.
Definamos ahora la estructura del formulario principal (es decir, hacia donde queremos acceder). Para esto agregamos
una clase en el paquete isma.gui. El formulario va a tener como aditivo a este ejemplo una barra de men:
Cdigo:
01
package isma.gui;
02
03
import java.awt.event.*;
04
import javax.swing.*;
05
06
07
08
09
public frmMain()
10
{
super("SISTEMA EJEMPLO LOGIN");
11
12
13
14
15
16
17
18
menuArchivo.setMnemonic('C');
19
20
21
itemAcerca.setMnemonic('A');
22
menuArchivo.add(itemAcerca);
23
itemAcerca.addActionListener(
24
new ActionListener() {
25
26
27
JOptionPane.showMessageDialog(frmMain.this,
28
"Ejemplo Login",
29
30
}
31
32
);
33
34
itemSalir.setMnemonic('S');
35
menuArchivo.add(itemSalir);
36
itemSalir.addActionListener(
new ActionListener(){
37
38
39
{
System.exit(0);
40
}
41
}
42
43
);
44
barramenu.add(menuArchivo);
45
setJMenuBar(barramenu);
46
setSize(1022, 700);
47
setLocationRelativeTo(this.getParent());
48
setVisible(mostrar);
49
setDefaultCloseOperation(EXIT_ON_CLOSE);
}
50
}
51
52
La funcin mostrarForm nos servir para controlar cuando queremos que el formulario principal aparezca. En este
caso es preciso que aparezca justo despus de comprobar que los datos ingresados en el formulario de login sean
correctos.
Ahora la estrella de este artculo:
Cdigo:
001
package isma.gui;
002
003
import java.awt.*;
004
import java.awt.event.*;
005
import javax.swing.*;
006
007
import isma.db.*;
008
009
010
011
012
013
014
015
016
017
public frmLogin()
018
019
super("Acceso al Sistema");
020
021
022
023
024
025
026
027
028
029
btnAceptar.setMnemonic('A');
030
031
btnAceptar.setIcon(imgAceptar);
032
033
034
btnCancelar.setMnemonic('C');
035
036
btnCancelar.setIcon(imgCancelar);
037
038
contenedor = getContentPane();
039
contenedor.setLayout(cuadricula1);
040
contenedor.add(lblusuario);
041
contenedor.add(txtusuario);
042
contenedor.add(lblpassword);
043
contenedor.add(txtpassword);
044
contenedor.add(btnAceptar);
045
contenedor.add(btnCancelar);
046
047
btnAceptar.addActionListener(
048
new ActionListener()
049
050
@SuppressWarnings("deprecation")
051
052
053
054
055
056
String usuario;
057
String clave;
058
059
usuario = txtusuario.getText();
060
clave = txtpassword.getText();
061
062
try {
063
064
065
066
067
068
{
JOptionPane.showMessageDialog( frmLogin.this,
069
070
"Bienvenido al sistema usuario: " + x_user + ", con id: " + x_iduser,
071
072
principal.mostrarForm(true);
073
principal.setLocationRelativeTo(principal.getParent());
074
dispose();
}
075
076
077
catch(Exception e){
JOptionPane.showMessageDialog( frmLogin.this,
078
079
080
081
}
082
}
083
084
);
085
086
btnCancelar.addActionListener(
new ActionListener() {
087
088
089
{
System.exit(0);
090
}
091
}
092
093
);
094
095
setDefaultCloseOperation(EXIT_ON_CLOSE);
096
setResizable(false);
097
setSize(300, 150);
098
setVisible(true);
099
setLocationRelativeTo(this.getParent());
}
100
101
package isma.gui;
02
import javax.swing.*;
03
04
05
06
07
JFrame.setDefaultLookAndFeelDecorated(true);
08
try {
09
UIManager.setLookAndFeel("com.sun.java.swing.plaf.nimbus.NimbusLookAndFeel");
10
11
12
System.out.println(e);
13
14
15
aplicacion.setDefaultCloseOperation( JFrame.DISPOSE_ON_CLOSE );
16
17
}
Fjense en la siguiente lnea:
UIManager.setLookAndFeel("com.sun.java.swing.plaf.nimbus.NimbusLookAndFeel");
Esto define el tema visual de la aplicacin, es decir, tu aplicacin en Java pasa de esto:
A esto:
Y eso ha sido todo damas y caballeros, muy pronto ms ejemplos con Java, y muchas sorpresas.
Nota: Los iconos de los botones del formulario "frmLogin" se encuentran en el archivo descargable de la parte
inferior de estas lneas.