Fala galera!!!
Po a galera aqui do fórum é fera... e já me ajudaram em um post aqui agora to com mais um problema pessoal!!!
Bom é o seguinte...
package visao;
import java.awt.BorderLayout;
import java.awt.Container;
import java.awt.FlowLayout;
import java.awt.Font;
import java.awt.GridBagConstraints;
import java.awt.GridBagLayout;
import java.awt.GridLayout;
import java.awt.Insets;
import javax.swing.ImageIcon;
import javax.swing.JButton;
import javax.swing.JDialog;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JOptionPane;
import javax.swing.JPanel;
import javax.swing.JPasswordField;
import javax.swing.JRootPane;
import javax.swing.JTextField;
import modelo.Login;
import controle.ControleLogin;
public class TelaLogin extends JFrame{
private JFrame pFrame;
private JDialog fDialog;
private JLabel lblUsuario;
private JLabel lblSenha;
private JTextField txtUsuario;
private JPasswordField pswSenha;
private Container c;
private JPanel pNorte;
private JPanel pCentro;
private JPanel pCampos;
private JPanel pBotoes;
private JPanel pImagem;
private TelaLogin tela;
Login l;
private String usuario;
public TelaLogin(ControleLogin controle){
//constroi o dialog
fDialog = new JDialog(pFrame, true);
//cria componentes
c = fDialog.getContentPane();
c.setLayout(new BorderLayout());
pNorte = new JPanel(new FlowLayout(FlowLayout.CENTER));
pBotoes = new JPanel(new GridLayout(1,2,20,5));
pCentro = new JPanel( new FlowLayout(FlowLayout.CENTER));
GridBagConstraints gc = new GridBagConstraints();
//distancia em comprimento dos componetes
gc.ipadx = 10;
//alinhamento de componentes
gc.anchor = GridBagConstraints.FIRST_LINE_START;
//distancia das bordas dos componetes
gc.insets = new Insets(5,5,2,2);
pCampos = new JPanel(new GridBagLayout());
pImagem = new JPanel(new GridBagLayout());
lblUsuario = new JLabel("Usuário");
txtUsuario = new JTextField(20);
txtUsuario.setToolTipText("Digite seu nome de usuário no sistema");
usuario = txtUsuario.getText();
lblSenha = new JLabel("Senha");
pswSenha = new JPasswordField(20);
pswSenha.setToolTipText("Digite sua senha no sistema");
JButton btnEntrar = new JButton("Entrar");
btnEntrar.setIcon(new ImageIcon("icIr.png"));
btnEntrar.setToolTipText("Clique aqui para realizar o Login no sistema!");
JButton btnCancelar = new JButton("Cancelar");
btnCancelar.setIcon(new ImageIcon("icCancelar.png"));
//relaciona nome do componente ao evento.
btnEntrar.setActionCommand("entrar");
btnCancelar.setActionCommand("cancelar");
//cria a imagem e o texto de bem-vindo
JLabel lb = new JLabel();
lb.setIcon(new ImageIcon("login.png"));
JLabel texto = new JLabel("<html><center>Seja bem-vindo ao sistema.<br>Por favor, insira seu login e<br>senha. Se você não possui<br>login e senha, por favor,<br>contate o administrador.<br><br><br></center></html>");
texto.setFont(new Font("Arial",1,16));
lb.setOpaque(false);
//adicionando componentes no gridBagLayout
gc.gridx = 0;
gc.gridy = 1;
pCampos.add(lblUsuario,gc);
gc.gridx = 1;
gc.gridy = 1;
pCampos.add(txtUsuario,gc);
gc.gridx = 0;
gc.gridy = 2;
pCampos.add(lblSenha,gc);
gc.gridx = 1;
gc.gridy = 2;
pCampos.add(pswSenha,gc);
gc.gridx = 0;
gc.gridy = 0;
gc.gridwidth=2;
gc.fill = GridBagConstraints.HORIZONTAL;
pCampos.add(texto,gc);
gc.gridx = 0;
gc.gridy = 0;
gc.gridwidth=0;
gc.fill=0;
pImagem.add(lb,gc);
//adiciona componentes ao gridlayout
pBotoes.add(btnEntrar);
pBotoes.add(btnCancelar);
//adiciona componentes ao container.
pNorte.add(pImagem);
pNorte.add(pCampos);
pCentro.add(pBotoes);
c.add(pNorte,BorderLayout.NORTH);
c.add(pCentro,BorderLayout.CENTER);
//adiciona ouvintes nos componentes
btnEntrar.addActionListener(controle);
btnCancelar.addActionListener(controle);
//faz o botão entrar ser o padrão
btnEntrar.setDefaultCapable(true);
JRootPane rp = fDialog.getRootPane();
rp.setDefaultButton(btnEntrar);
//mostra a Dialog
fDialog.setTitle("Login SCC");
fDialog.pack();
fDialog.setLocationRelativeTo(null);
fDialog.setDefaultCloseOperation(JDialog.DO_NOTHING_ON_CLOSE);
fDialog.setVisible(true);
}//fim do construtor
}//fim da classe
package controle;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import javax.swing.JOptionPane;
import modelo.Login;
import visao.TelaLogin;
import dao.DAOFactory;
import dao.DAOLogin;
public class ControleLogin implements ActionListener{
DAOFactory df=DAOFactory.getDAOFactory(DAOFactory.POSTGRES);
DAOLogin dao = df.getDAOLogin();
private ControleLogin controle;
private TelaLogin tela ;
public ControleLogin(){
tela = new TelaLogin(this);
}
public void actionPerformed(ActionEvent evt) {
String comando = evt.getActionCommand();
if (comando.equals("entrar")){
try{
// quando tento apenas mostrar o nome de usuário que peguei da tela através desse método ele dá
// NullPointerException!!!
//Também não sei commo vou fazer para coletar o nome de usuário setar minha classe modelo para
// poder fazer a consulta no BD
//Aqui falta um pedaço de código para setar minha classe modelo! É o que to precisando!!
Login l = new Login();
dao.consultar(l);
if (l.getUsuario()!= null){
JOptionPane.showMessageDialog (null, "Suuuuuucesso!");
}
JOptionPane.showMessageDialog(null, "ERRO");
}
catch (Exception e){
JOptionPane.showMessageDialog (null, "ERRO :" +e);
}
}
if (comando.equals("cancelar")){
try{
//também não estou conseguindo fechar a janela!!!
tela.fechar();
}
catch (Exception e){
JOptionPane.showMessageDialog(null,"ERRO :"+e);}
}
}
}
Dá uma olhada nos comentários que coloquei no código galera!!!
Aguardo a resposta de vcs!!!
Um grande abraço a todos!!!