bom dia galera,
Estou implementando uma classe banco de dados(clsBancodeDados) que é um classe que faz conexão com um banco acess, uma classe login, classe clsAlunos, é um programinha para cadastro de alunos, queria usar nesse classes o modelo de padrão de projeto singleton, mas estou tendo duvidas de como aplicar ele! segue abaixo as classes!
/*
- To change this template, choose Tools | Templates
- and open the template in the editor.
*/
/*
- frmLogin.java
- Created on 20/04/2010, 22:15:34
*/
package massa;
/**
*
-
@author Adauto
*/
import java.awt.Dimension;
import java.sql.SQLException;
import javax.swing.JOptionPane;
// Variables declaration - do not modify
// Variables declaration - do not modify
// Variables declaration - do not modify
public class frmLogin extends javax.swing.JFrame {
frmPrincipal menuPrincipal;
/** Creates new form frmLogin */
public frmLogin() {
//setLocationRelativeTo( null );
//CENTRALIZAR O JFRAME
Dimension dimension = this.getToolkit().getScreenSize();
int x = (int) (dimension.getWidth() - this.getSize().getWidth()) / 3;
int y = (int) (dimension.getHeight() - this.getSize().getHeight()) / 4;
this.setLocation(x, y);
//FIM DO CENTRALIZA
initComponents();
}
private static AdministradorDAO administradorDAO;
public static AdministradorDAO getInstance(){
if(AdministradorDAO.administradorDAO == null){
AdministradorDAO.administradorDAO = new AdministradorDAO();
}
return AdministradorDAO.administradorDAO;
}
protected AdministradorDAO(){
}
/** This method is called from within the constructor to
* initialize the form.
* WARNING: Do NOT modify this code. The content of this method is
* always regenerated by the Form Editor.
*/
@SuppressWarnings("unchecked")
// <editor-fold defaultstate="collapsed" desc="Generated Code">
private void initComponents() {
pnlLogin = new javax.swing.JPanel();
lblLogin = new javax.swing.JLabel();
lblUsuario = new javax.swing.JLabel();
lblSenha = new javax.swing.JLabel();
lblIcone = new javax.swing.JLabel();
txtUsuario = new javax.swing.JTextField();
txtSenha = new javax.swing.JPasswordField();
btnConectar = new javax.swing.JButton();
btnCancelar = new javax.swing.JButton();
setDefaultCloseOperation(javax.swing.WindowConstants.EXIT_ON_CLOSE);
pnlLogin.setBackground(new java.awt.Color(240, 240, 0));
pnlLogin.setBorder(javax.swing.BorderFactory.createBevelBorder(javax.swing.border.BevelBorder.RAISED));
lblLogin.setFont(new java.awt.Font("Cambria", 1, 36));
lblLogin.setText("LOGIN");
lblUsuario.setFont(new java.awt.Font("Tahoma", 0, 14));
lblUsuario.setText("Usuário:");
lblSenha.setFont(new java.awt.Font("Tahoma", 0, 14));
lblSenha.setText("Senha:");
lblIcone.setIcon(new javax.swing.ImageIcon("C:\\Users\\Adauto\\Desktop\\ICONES\\user.png")); // NOI18N
txtUsuario.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
txtUsuarioActionPerformed(evt);
}
});
txtSenha.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
txtSenhaActionPerformed(evt);
}
});
btnConectar.setIcon(new javax.swing.ImageIcon("C:\\Users\\Adauto\\Desktop\\ICONES\\Login.png")); // NOI18N
btnConectar.setText("Conectar");
btnConectar.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
btnConectarActionPerformed(evt);
}
});
btnCancelar.setIcon(new javax.swing.ImageIcon("C:\\Users\\Adauto\\Desktop\\ICONES\\Cancelar.png")); // NOI18N
btnCancelar.setText("Cancelar");
btnCancelar.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
btnCancelarActionPerformed(evt);
}
});
javax.swing.GroupLayout pnlLoginLayout = new javax.swing.GroupLayout(pnlLogin);
pnlLogin.setLayout(pnlLoginLayout);
pnlLoginLayout.setHorizontalGroup(
pnlLoginLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(pnlLoginLayout.createSequentialGroup()
.addGroup(pnlLoginLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(pnlLoginLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING, false)
.addGroup(pnlLoginLayout.createSequentialGroup()
.addContainerGap()
.addComponent(lblSenha))
.addGroup(pnlLoginLayout.createSequentialGroup()
.addContainerGap()
.addComponent(lblUsuario))
.addGroup(javax.swing.GroupLayout.Alignment.TRAILING, pnlLoginLayout.createSequentialGroup()
.addContainerGap(javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
.addComponent(lblLogin)
.addGap(42, 42, 42)))
.addGroup(pnlLoginLayout.createSequentialGroup()
.addContainerGap()
.addGroup(pnlLoginLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.TRAILING, false)
.addComponent(txtSenha, javax.swing.GroupLayout.Alignment.LEADING)
.addComponent(txtUsuario, javax.swing.GroupLayout.Alignment.LEADING, javax.swing.GroupLayout.DEFAULT_SIZE, 129, Short.MAX_VALUE))))
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
.addComponent(lblIcone, javax.swing.GroupLayout.DEFAULT_SIZE, 314, Short.MAX_VALUE)
.addContainerGap())
.addGroup(pnlLoginLayout.createSequentialGroup()
.addGap(44, 44, 44)
.addComponent(btnConectar)
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED, 102, Short.MAX_VALUE)
.addComponent(btnCancelar)
.addGap(79, 79, 79))
);
pnlLoginLayout.setVerticalGroup(
pnlLoginLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(pnlLoginLayout.createSequentialGroup()
.addGroup(pnlLoginLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(pnlLoginLayout.createSequentialGroup()
.addGap(26, 26, 26)
.addComponent(lblLogin)
.addGap(27, 27, 27)
.addComponent(lblUsuario)
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
.addComponent(txtUsuario, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
.addComponent(lblSenha)
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
.addComponent(txtSenha, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
.addGroup(pnlLoginLayout.createSequentialGroup()
.addContainerGap()
.addComponent(lblIcone, javax.swing.GroupLayout.DEFAULT_SIZE, 235, Short.MAX_VALUE)
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)))
.addGap(19, 19, 19)
.addGroup(pnlLoginLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
.addComponent(btnConectar)
.addComponent(btnCancelar))
.addGap(55, 55, 55))
);
getContentPane().add(pnlLogin, java.awt.BorderLayout.CENTER);
pack();
}// </editor-fold>
private void txtSenhaActionPerformed(java.awt.event.ActionEvent evt) {
// TODO add your handling code here:
}
private void btnCancelarActionPerformed(java.awt.event.ActionEvent evt) {
System.exit(0);
}
private void txtUsuarioActionPerformed(java.awt.event.ActionEvent evt) {
}
private void btnConectarActionPerformed(java.awt.event.ActionEvent evt) {
if (txtUsuario.getText().isEmpty()) {
javax.swing.JOptionPane.showMessageDialog(this, "preencha seu usuario");
return;
// TODO add your handling code here:
}
if (txtSenha.getText().isEmpty()) {
javax.swing.JOptionPane.showMessageDialog(this, "entre com senha");
return;
}
try {
clsBancoDeDados.rs = clsBancoDeDados.comando.executeQuery
("select * from login where usuario = '"+
txtUsuario.getText() + "' and senha = '" +
txtSenha.getText() + "'");
if (clsBancoDeDados.rs.next()) {
if (menuPrincipal == null) {
menuPrincipal = new frmPrincipal(this);
}
menuPrincipal.permissoes(clsBancoDeDados.rs.getString("permissao"));
txtSenha.setText("");
this.setVisible(false);
menuPrincipal.setVisible(true);
//menuPrincipal.permissoes(clsBancoDeDados.rs.getString("permissao"));
}
else
JOptionPane.showMessageDialog(this, "Usuário ou Senha Incorretos!");
} catch (SQLException e) {
JOptionPane.showMessageDialog(this,"erro de autenticação");
}
}
// Variables declaration - do not modify
private javax.swing.JButton btnCancelar;
private javax.swing.JButton btnConectar;
private javax.swing.JLabel lblIcone;
private javax.swing.JLabel lblLogin;
private javax.swing.JLabel lblSenha;
private javax.swing.JLabel lblUsuario;
private javax.swing.JPanel pnlLogin;
private javax.swing.JPasswordField txtSenha;
private javax.swing.JTextField txtUsuario;
// End of variables declaration
}
/*
- To change this template, choose Tools | Templates
- and open the template in the editor.
/
/* -
@author Adauto
/
/ - To change this template, choose Tools | Templates
- and open the template in the editor.
*/
package massa;
import java.sql.;
import javax.swing.;
/**
*
*/
public class clsBancoDeDados {
static Connection conexao;
static Statement comando;
static ResultSet rs;
//ALUNOS
static Integer codaluno;
static Integer codmodalidade;
static Integer codpromocao;
/*static String nomealuno;
static Date datanasc;
static String profissao;
static String endereco;
static String nro;
static String apto;
static String bairro;
static String telefone;
static String celular;*/
public static void main(String args[]) throws InstantiationException, IllegalAccessException, UnsupportedLookAndFeelException {
try {
//PARA COLOCAR O FORMATO WINDOWS
try {
UIManager.setLookAndFeel("com.sun.java.swing.plaf.windows.WindowsLookAndFeel");
//Para Setar as opções Yes=Sim e No=Não
UIManager.put("OptionPane.yesButtonText", "Sim");
UIManager.put("OptionPane.noButtonText", "Não");
} catch (ClassNotFoundException classNotFoundException) {
} catch (InstantiationException instantiationException) {
} catch (IllegalAccessException illegalAccessException) {
} catch (UnsupportedLookAndFeelException unsupportedLookAndFeelException) {
}
Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
conexao = DriverManager.getConnection("jdbc:odbc:bdEngenharia");
comando = conexao.createStatement();
//testa danco
rs = comando.executeQuery("select * from login");
while (rs.next()) {
System.out.println(rs.getString("usuario"));
System.out.println(rs.getString("senha"));
System.out.println(rs.getString("permissao"));
}
// rs = comando.executeQuery("select * from dados");
//while (rs.next()) {
//System.out.println(rs.getString("nome"));
//System.out.println(rs.getString("dados"));
//}
} catch (ClassNotFoundException e) {
JOptionPane.showMessageDialog(null,
"Erro de Conexao com Banco de Dados" + e);
} catch (SQLException e) {
JOptionPane.showMessageDialog(null,
"Erro de Sintaxe SQL" + e);
}
frmLogin login = new frmLogin();
login.setVisible(true);
}
;
}
/*
- To change this template, choose Tools | Templates
- and open the template in the editor.
*/
package massa;
import java.sql.Date;
import java.sql.SQLException;
import javax.swing.JOptionPane;
import javax.swing.JTable;
/**
*
-
@author Adauto mendes
*/
public class clsAlunos {
private Integer codaluno;
private String nomealuno;
private Date datanasc;
private String profissao;
private String endereco;
private String nro;
private String apto;
private String bairro;
private String telefone;
private String celular;public boolean AtualizarTabela(JTable jTableAlunos){
try{
clsBancoDeDados.rs = clsBancoDeDados.comando.executeQuery(“select * from alunos order by nomealuno ASC”);javax.swing.table.DefaultTableModel dtm = (javax.swing.table.DefaultTableModel)jTableAlunos.getModel(); int cont = dtm.getRowCount(); for(int i = 0; i < cont; i++) dtm.removeRow(0); while(clsBancoDeDados.rs.next()) { dtm.addRow(new Object[]{(Integer)clsBancoDeDados.rs.getInt("codaluno"),clsBancoDeDados.rs.getString("nomealuno"),clsBancoDeDados.rs.getDate("datanasc"),clsBancoDeDados.rs.getString("profissao"),clsBancoDeDados.rs.getString("endereco"),clsBancoDeDados.rs.getString("numero"),clsBancoDeDados.rs.getString("apto"),clsBancoDeDados.rs.getString("bairro"),clsBancoDeDados.rs.getString("telefone"),clsBancoDeDados.rs.getString("celular")}); } } catch(SQLException e) { System.out.println(e.getMessage()); return false; } return true;
}
public Integer getCodaluno() {
return codaluno;
}
public void setCodaluno(Integer codaluno) {
this.codaluno = codaluno;
}
public String getNomealuno() {
return nomealuno;
}
public void setNomealuno(String nomealuno) {
this.nomealuno = nomealuno;
}
public Date getDatanasc() {
return datanasc;
}
public void setDatanasc(Date datanasc) {
this.datanasc = datanasc;
}
public String getProfissao() {
return profissao;
}
public void setProfissao(String profissao) {
this.profissao = profissao;
}
public String getEndereco() {
return endereco;
}
public void setEndereco(String endereco) {
this.endereco = endereco;
}
public String getNro() {
return nro;
}
public void setNro(String nro) {
this.nro = nro;
}
public String getApto() {
return apto;
}
public void setApto(String apto) {
this.apto = apto;
}
public String getBairro() {
return bairro;
}
public void setBairro(String bairro) {
this.bairro = bairro;
}
public String getTelefone() {
return telefone;
}
public void setTelefone(String telefone) {
this.telefone = telefone;
}
public String getCelular() {
return celular;
}
public void setCelular(String celular) {
this.celular = celular;
}
}