Login gráfico em java
Publicado por Diogo Souza da Silva 26/03/2007
[ Hits: 11.170 ]
Homepage: www.manfiesto.blog.br
Um simples login gráfico com swing em java. Checa a senha com um banco de dados mysql.
/* Simples login, por Diogo Souza da Silva */
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
import java.sql.*;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.SQLException;
public class Login extends JFrame{
/* Declarando variaveis */
static Login janela ;
public JTextField usuario ;
public JPasswordField password ;
public String userid, erro, asenha ;
public Login() {
/* Constroi a tela de LOGIN com gridBaglayout */
Container contantPane = getContentPane();
GridBagLayout gridbag = new GridBagLayout();
GridBagConstraints c = new GridBagConstraints();
contantPane.setLayout(gridbag);
getContentPane().setBackground(Color.white);
JLabel intro = new JLabel("Bem vindo ao JContas! - www.manifesto.s9k.net");
c.gridwidth = 2;
c.weightx = 0.5;
c.gridx = 0;
c.gridy = 0;
gridbag.setConstraints(intro, c);
getContentPane().add(intro);
JLabel user = new JLabel("Usuario:");
c.gridwidth = 1;
c.gridx = 0;
c.gridy = 2;
gridbag.setConstraints(user, c);
getContentPane().add(user);
JLabel senha = new JLabel("Senha:");
c.gridwidth = 1;
c.gridx = 0;
c.gridy = 3;
gridbag.setConstraints(senha, c);
getContentPane().add(senha);
usuario = new JTextField(15);
c.gridwidth = 1;
c.gridx = 1;
c.gridy = 2;
gridbag.setConstraints(usuario, c);
getContentPane().add(usuario);
password = new JPasswordField(15);
c.gridwidth = 1;
c.gridx = 1;
c.gridy = 3;
gridbag.setConstraints(password, c);
getContentPane().add(password);
JButton entra = new JButton("Entrar");
c.gridwidth = 1;
c.gridx = 0;
c.gridy = 4;
gridbag.setConstraints(entra, c);
getContentPane().add(entra);
/* Funcao de entrar */
entra.addActionListener( new ActionListener()
{
public void actionPerformed(ActionEvent e) {
validar();
}});
}
public void validar() {
/* Confere usuario e senha com um mysql */
Connection con;
Statement stmt;
ResultSet rs;
String usu = new String(usuario.getText());
String senhas = new String(password.getPassword());
/* Pega a senha de um mysql */
try {
Class.forName("com.mysql.jdbc.Driver");
System.out.println("Driver OK");
try {
String url = "jdbc:mysql://localhost/data_base";
con = DriverManager.getConnection(url, "root", "");
stmt = con.createStatement();
try {
rs = stmt.executeQuery("SELECT senha FROM usuarios where login = '"+ usu +"' ");
rs.next();
asenha = rs.getString("senha");
} catch (SQLException exp) {
erro = erro+"Erro na requisicao.";
System.out.println("SQLException: " + exp.getMessage());
System.out.println("SQLState: " + exp.getSQLState());
System.out.println("VendorError: " + exp.getErrorCode());
exp.printStackTrace();
}
} catch (SQLException exp) {
erro = erro+"Conexao falha, verifique sua conexao com a internet.";
System.out.println("SQLException: " + exp.getMessage());
System.out.println("SQLState: " + exp.getSQLState());
System.out.println("VendorError: " + exp.getErrorCode());
exp.printStackTrace();
}
} catch(java.lang.ClassNotFoundException ext) {
erro = "Problemas com o driver de conexao.";
System.err.print("ClassNotFoundException: ");
System.err.println(ext.getMessage());
}
/* Se devidamente autorizado */
if ( senhas.equals(asenha) )
{
/* Faz o que precisar */
}
else {
JOptionPane.showMessageDialog(null,"Acesso negado."+erro,"Atencao", JOptionPane.WARNING_MESSAGE);
}
}
public static void main(String[] args) {
/* Chama o programa */
janela = new Login() ;
janela.setTitle("Login");
janela.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
janela.pack();
janela.setVisible(true);
}
}
Gerador de números aleatórios em Java
Código para validar CPF e CNPJ otimizado
Classe Java para a validação de CNPJ
Crivo de Eratóstenes Simples em Java
Cinnamon seria a aposta acertada frente às outras interfaces gráficas mais populares?
KDE Plasma - porque pode ser a melhor opção de interface gráfica
Gentoo: detectando impressoras de rede e como fixar uma impressora por IP
Como o GNOME conseguiu o feito de ser preterido por outras interfaces gráficas
Por que sua empresa precisa de uma PKI (e como automatizar EMISSÕES de certificados via Web API)
Instalando NoMachine no Gentoo com Systemd (acesso Remoto em LAN)
Vou destruir sua infância:) (8)
Interface gráfica com problema (2)
Instalar Linux em notebook Sony Vaio VPCEG13EB (13)









