Ação no botão utilizando GridBagLayout

3 respostas
lueferraz

[quote]Galera sou mais que iniciante e to apanhando pra caramba pra aprender, mas tenho certeza com vou conseguir.
No momento estou precisando da ajuda de alguém!!!!!!!!!!
Tela uma tela de login pronta e o que preciso é criar uma ação no botão para qdo eu clicar no botão Logar ele busque as informações do BD e me retorne "Sucesso" ou "Dados incorretos", ou clique no botão Limpar ele apague os dados inseridos.
Já inserir as seguintes informações no Banco de Dados:
cargo: gerente
senha: 12345
Segue codigo que fiz abaixo, detalhe estou estudando interfaces usando GridBagLayout:

package br.com.Interface.View;

import java.awt.Font;
import java.awt.GridBagConstraints;
import java.awt.GridBagLayout;
import java.awt.Insets;

import javax.swing.JButton;
import javax.swing.JComponent;
import javax.swing.JFrame;
import javax.swing.JLabel;

import javax.swing.JPanel;
import javax.swing.JPasswordField;
import javax.swing.JTextField;
import javax.swing.border.EmptyBorder;

@SuppressWarnings("serial")
public class GerenteView extends JFrame {
	public GerenteView() {
		super("Tela de Login");
	}

	JPanel panel;
	JLabel labelCargo;
	JLabel labelSenha;

	JTextField txtCargo;
	JTextField txtSenha;

	JButton btnLogar;

	public void criarFormulario() {
//..........................INICIO DA DEFINIÇÃO DO LAYOUT............................
		/** Define o Layout */
		setLayout(new GridBagLayout());

		/** Define uma borda p/ aumentar o espaço entre as bordas da janela e o gerenciador de layout*/
		((JComponent) getContentPane()).setBorder(new EmptyBorder(5, 8, 8, 8));

		/** Criar o GridBadLayout É este objeto que proporcionará a liberdade que qremos com o layout. 
		 *  A GridBagConstraints é uma classe que não possui  métodos, ela servirá simplesmente para 
		 *  armazenar as informações p/ cada componente adicionado.*/
		GridBagConstraints gbc = new GridBagConstraints();

		/** Vamos controlar os espaços entre os componentes e as linhas do GriBagLayout Aqui nós 
		 *  definimos 2 pixels p/ os lados de CIMA, ESQDA, INFERIOR e DIREITA.*/
		gbc.insets = new Insets(5, 5, 5, 5);

		/** Vamos adicionar componentes à janela, está 1ª JLabel ocupará duas células na 1ª linha*/
		/** gridx e gridy: Especificam a posição X,Y para adicionar o componente.*/
		gbc.gridy = 0;// Linha--->Permite especificar qual a posição absoluta verticalmente q o componente será adicionado.
		gbc.gridx = 0;// Coluna-->Permite especificar qual a posição absoluta horizontalmente q o componente será adicionado.
		gbc.gridwidth = 2;// Duas células na linha

		/** Alinha a label à esquerda */
		gbc.anchor = GridBagConstraints.WEST;
		JLabel inforLabel = new JLabel("Dados do Ususario: ");

		/** Vamos aumentar a fonte da JLabel */
		inforLabel.setFont(new Font("SansSerif", Font.BOLD, 14));

		/** Vamos adicionar um espaço extra na parte inferior da JLabel */
		inforLabel.setBorder(new EmptyBorder(0, 0, 5, 0));

		add(inforLabel, gbc);

		gbc.gridy = 1;// Linnha
		gbc.gridx = 0;// Coluna
		gbc.gridwidth = 1;
//.........................FIM DA DEFINIÇÃO DO LAYOUT............................

/**.........................INICIO DA LABEL DO USUARIO............................*/
		/** Vamos criar a label do usuário */
		JLabel usuarioLabel = new JLabel("Cargo: ");
		add(usuarioLabel, gbc);

		gbc.gridy = 1;// linha
		gbc.gridx = 1;// coluna

		/** Vamos JTextField do usuário */
		JTextField usuarioTxt = new JTextField(20);
		add(usuarioTxt, gbc);

		gbc.gridy = 2;// linha
		gbc.gridx = 0;// coluna
/**..........................FIM DA LABEL DO USUARIO............................*/

//.............................INICIO DA LABEL SENHA............................
		/** Vamos criar a label senha */
		JLabel senhaLabel = new JLabel("Senha: ");
		add(senhaLabel, gbc);

		gbc.gridy = 2;// linha
		gbc.gridx = 1;// coluna

		/** Vamos JPasswordField ou(JTextField) da senha */
		JPasswordField senhatxt = new JPasswordField(20);
		add(senhatxt, gbc);

		gbc.gridy = 3;// linha
		gbc.gridx = 1;// coluna
		gbc.gridwidth = 2;// duas celulas na linha
//.............................FIM DA LABEL SENHA............................

/**......................INICIO DO COMANDO DOS BOTÕES.......................*/
		/** Alinha os botões à direita */
		gbc.anchor = GridBagConstraints.EAST;
		JPanel botoesPanel = new JPanel();
		botoesPanel.add(new JButton("Limpar"));
		botoesPanel.add(new JButton("Logar"));
		add(botoesPanel, gbc);
/**........................FIM DO COMANDO DOS BOTÕES........................*/
		
		pack();
		setVisible(true);
		// Centraliza a janela
		setLocationRelativeTo(null);
	}

	public static void main(String[] args) {
		GerenteView gv = new GerenteView();
		gv.criarFormulario();
	}
}
package br.com.Interface.Controller;

import br.com.Interface.DAO.GerenteDAO;
import br.com.Interface.Model.Gerente;

public class GerenteController {

	public boolean salvarGerente(String cargo, String senha) {
		Gerente gerente = new Gerente();
		gerente.setCargo(cargo);		
		gerente.setSenha(senha);
		boolean verificarLogica = gerente.logar(senha);
		if(verificarLogica){
			GerenteDAO dao = new GerenteDAO();
			return dao.pesquisar(cargo, senha);
		}
		return verificarLogica;
	}
	
}

Galera espero que alguém me ajude pois aprender sozinho é difícil pra caramba!!!

3 Respostas

InicianteJavaHenriqu

E exatamente onde você precisa de ajuda.

lueferraz

Eu qro criar uma ação nos botões, mas não sei como:

botoesPanel.add(new JButton("Limpar")); botoesPanel.add(new JButton("Logar"));

G

p/ criar a ação vc tem q fazer algo do tipo

JButton botao1= new JButton("Fechar");
botao1.addActionListener(new ActionListener(){
     public void actionPerformed(ActionEvent e) {  //qualquer ação por esse botão entra após essa linha
          System.exit(0); 
     }
});

mas eu n sei como fazer a ação que vc quer

no caso do botão limpar seria assim
1º vc cria o botão separado, dessa forma:

JButton limpar=new JButton("Limpar");

depois vc cria a ação dele:

limpar.addActionListener(new ActionListener(){
     public void actionPerformed(ActionEvent e) {
          txtCargo.setText(null);
          txtSenha.setText(null);
     }
});
Criado 3 de maio de 2012
Ultima resposta 4 de mai. de 2012
Respostas 3
Participantes 3