Problema com actionPerformed

5 respostas
Fabiano_Fiorindo
Bom dia... Estou desenvolvendo uma tela de login usando o GridBagLayout, porem não consigo implementar o actionPerformed dos botôes, ele nao da erro , simplesmente não acontece nada ao clicar nos botôes. Eis o código.
import java.awt.*;
import javax.swing.*;
import java.awt.event.*;
import javax.swing.JOptionPane;
public class LoginAccess extends JFrame implements ActionListener{
	JButton entrar, cancelar;
	public LoginAccess(){
		super("Login");
		this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
		
		Container c = this.getContentPane();
		GridBagConstraints cons = new GridBagConstraints();
		GridBagLayout layout = new GridBagLayout();
		c.setLayout(layout);
		cons.insets = new Insets(5,5,5,5);
		
		cons.gridy = 0;
		cons.gridx = 0;
		cons.fill = GridBagConstraints.BOTH;
		c.add(new JLabel("Usuário"), cons);
		
		cons.gridy = 0;
		cons.gridx = 1;
		cons.gridwidth = 4;
		c.add(new JTextField(15),cons);
		
		cons.gridy = 1;
		cons.gridx = 0;
		cons.fill = GridBagConstraints.BOTH;
		cons.anchor = GridBagConstraints.CENTER;
		c.add(new JLabel("Senha"), cons);
		
		cons.gridy = 1;
		cons.gridx = 2;
		cons.gridwidth = 4;
		c.add(new JPasswordField(15),cons);
		
		cons.gridy = 2;
		cons.gridx = 1;
		cons.gridwidth = 2;
		c.add(entrar = new JButton("       OK     "), cons);
		
		cons.gridy = 2;
		cons.gridx = 3;
		cons.gridwidth = 2;
	    c.add(cancelar = new JButton("Cancelar"), cons);
		
		this.setResizable(false);
		pack();
	}

	public void actionPerformed(ActionEvent event){
		if(event.getSource() == entrar ){
			JOptionPane.showMessageDialog(null,"Yes");
		}else{
			JOptionPane.showMessageDialog(null,"NO");
		}
	}
	public static void main(String[] args) {
		// TODO Auto-generated method stub
		LoginAccess log = new LoginAccess();
		log.show();
	}

}

5 Respostas

fredferrao

vc nao registrou o actionListener para os botoes!!!

assim

entrar.addActionListener(this);
    cancelar.addActionListener(this);
Java_Vinicius_Machin

fredferrao:
vc nao registrou o actionListener para os botoes!!!

assim

entrar.addActionListener(this); cancelar.addActionListener(this);

:smiley: Acontece, eu também sempre esqueço de “amarrar os ouvintes de eventos”.

[]´s

Fabiano_Fiorindo

Eu ja tinha feito isso, mas aconteceu o seguinte erro

Exception in thread "main" java.lang.NullPointerException at LoginAccess.<init>(LoginAccess.java:10) at LoginAccess.main(LoginAccess.java:63)
coloquei logo apos o this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

fredferrao

vc tem que colocar “depois” de instanciar os botoes, depois dos entrar = new JButton("…");

Fabiano_Fiorindo

Valeu pela dica pessoal, consegui resolver, tinha posicionado oentrar.addActionListener(this); cancelar.addActionListener(this); em lugar errado, coloquei esse codigo logp apos inserir os botões e deu certo valeu mesmo obrigado;

Criado 18 de agosto de 2005
Ultima resposta 18 de ago. de 2005
Respostas 5
Participantes 3