Clases:
Conexion.java
DbUsuario.java
Login.java
Acceso.java
Clase: Conexion.java
package paquete;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.SQLException;
public class Conexion
{
static String bd = "bd1";
static String login = "root";
static String password = "...........";
static String url = "jdbc:mysql://localhost/" + bd;
Connection conn = null;
public Conexion() {
try {
Class.forName("com.mysql.jdbc.Driver");
conn = DriverManager.getConnection(url, login, password);
}
catch(SQLException
e){
System.out.println(e);
}
catch(ClassNotFoundException
e){
System.out.println(e);
}
}
public Connection getConnection(){
return conn;
}
public void desconectar(){
conn = null;
}
}
Clase: BdUsuario.java
package paquete;
import java.sql.*;
public class DbUsuario
{
Conexion cn;
public DbUsuario() {
cn = new Conexion();
}
public Object[][] UsuarioAcceder(String
login, String password){
int registros = 0;
try {
PreparedStatement
pstm = cn.getConnection().prepareStatement("SELECT count(1) as cont" +
" FROM usuario");
ResultSet res =
pstm.executeQuery();
res.next();
registros =
res.getInt("cont");
res.close();
}
catch(SQLException
e){
System.out.println(e);
}
Object [][] data = new
Object[registros][3];
if (login.length() != 0
&& password.length() != 0){
int usu_id;
String
usu_login = "";
String
usu_password = "";
try {
String
strsql = "";
strsql =
"SELECT * FROM usuario WHERE login
= '" + login + "' AND password = '" + password + "'";
PreparedStatement
pstm = cn.getConnection().prepareStatement(strsql);
ResultSet
res = pstm.executeQuery();
int i = 0;
while(res.next()){
usu_id
= res.getInt("idusuario");
usu_login
= res.getString("login");
usu_password
= res.getString("password");
data[i][0]
= usu_id;
data[i][1]
= usu_login;
data[i][2]
= usu_password;
i++;
}
res.close();
}
catch(SQLException
e){
System.out.println(e);
}
}
return data;
}
}
Clase: Login
package paquete;
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
public class Login extends JFrame
{
private static final long serialVersionUID = 1L;
private JTextField txtusuario;
private JPasswordField txtpassword;
private JButton btnAceptar, btnCancelar;
private JLabel lblusuario, lblpassword;
private Container contenedor;
private GridLayout cuadricula1;
public Login()
{
super("Acceso al Sistema");
cuadricula1 = new GridLayout(3, 3, 10,
10);
lblusuario = new JLabel("Usuario:");
lblpassword = new JLabel("Clave:");
txtusuario = new JTextField(10);
txtpassword = new JPasswordField(10);
btnAceptar = new JButton("Aceptar");
btnAceptar.setMnemonic('A');
ImageIcon
imgAceptar = new ImageIcon("img/user_go.png");
btnAceptar.setIcon(imgAceptar);
btnCancelar = new JButton("Cancelar");
btnCancelar.setMnemonic('C');
ImageIcon
imgCancelar = new ImageIcon("img/sign_cancel.gif");
btnCancelar.setIcon(imgCancelar);
contenedor = getContentPane();
contenedor.setLayout(cuadricula1);
contenedor.add(lblusuario);
contenedor.add(txtusuario);
contenedor.add(lblpassword);
contenedor.add(txtpassword);
contenedor.add(btnAceptar);
contenedor.add(btnCancelar);
btnAceptar.addActionListener(
new ActionListener()
{
@SuppressWarnings("deprecation")
public void
actionPerformed(ActionEvent evento)
{
DbUsuario
user = new DbUsuario();
///el del
MenuPrincipal
MenuPrincipal principal = new MenuPrincipal();
String
usuario;
String
clave;
usuario
= txtusuario.getText();
clave
= txtpassword.getText();
try {
Object[][]
itemUsuario = user.UsuarioAcceder(usuario, clave);
String x_iduser = itemUsuario[0][0].toString();
String
x_user = itemUsuario[0][1].toString();
String
x_pass = itemUsuario[0][2].toString();
if ((x_user != "") &&
(x_pass != ""))
{
JOptionPane.showMessageDialog(
Login.this,
"Bienvenido al
sistema usuario: " + x_user + ", con id: " + x_iduser,
"Acerca
de",
JOptionPane.INFORMATION_MESSAGE );
///El de
MenuPrincipal.....main
MenuPrincipal
jFrame= new MenuPrincipal();//llama al frame Principal
jFrame.setVisible(true);
//principal.mostrarForm(true);
principal.setLocationRelativeTo(principal.getParent());
dispose();
}
}
catch(Exception e){
JOptionPane.showMessageDialog(
Login.this,
"Usuario o
contraseña incorrecto",
"Acerca
de",
JOptionPane.ERROR_MESSAGE );
}
}
}
);
btnCancelar.addActionListener(
new ActionListener() {
public void actionPerformed(
ActionEvent evento )
{
System.exit(0);
}
}
);
setDefaultCloseOperation(EXIT_ON_CLOSE);
setResizable(false);
setSize(300, 150);
setVisible(true);
setLocationRelativeTo(this.getParent());
}
}
Clase: Acceso
package paquete;
import javax.swing.*;
public class Acceso {
public static void main(String[] args)
{
JFrame.setDefaultLookAndFeelDecorated(true);
try {
UIManager.setLookAndFeel("com.sun.java.swing.plaf.nimbus.NimbusLookAndFeel");
}
catch (Exception
e){
System.out.println(e);
}
Login
aplicacion = new Login();
aplicacion.setDefaultCloseOperation(
JFrame.DISPOSE_ON_CLOSE );
}
}