Problemas com o ActionListener

3 respostas
leandrogbraga

Olá pessoal!!!

Estou estudando e travei num problema que não consigo resolver… Tinha umas telas prontas e tudo funcionava bem… até que cismei de fazer um login. Não consigo fazer o ActionListener da tela. Vou postar os códigos da tela principal, da tela do login e do seu controlador… se alguem puder me ajudar agradeço

Tela Principal

package visao;

import java.awt.*;
import javax.swing.*;
import controle.*;
import java.awt.event.ActionListener;
import java.beans.PropertyVetoException;

public class TelaPrincipal {

	private JFrame jFrame = null;  
	private JDesktopPane jDesktopPane = null;
	private JMenuBar jJMenuBar = null;
	private JMenu jMenuCadastro = null;
	private JMenuItem jMenuItemCliente = null;
	private JMenuItem jMenuItemFerramenta = null;
	private JMenuItem jMenuItemFuncionario = null;
	private JMenuItem jMenuItemMaodeObra = null;
	private JMenuItem jMenuItemTipo = null;
	private JMenuItem jMenuItemTecnico = null;
	private JMenu jMenuServico = null;
	private JMenuItem jMenuItemGerarSevico = null;
	private JMenu jMenuOrdem = null;
	private JMenu jMenuEquipe = null;
	private JMenuItem jMenuItemMontar = null;
	private JMenu jMenuRelatorio = null;
	private JMenu jMenuAjuda = null;
	private JMenuItem jMenuItemIndice = null;
	private JMenuItem jMenuItemSobre = null;
	private JMenuItem jMenuItemGerarOrdem = null;

	private JFrame getJFrame() {
		
		if (jFrame == null) {
			jFrame = new JFrame();
			jFrame.setSize(new Dimension(683, 374));
			jFrame.setJMenuBar(getJJMenuBar());
			jFrame.setContentPane(getJDesktopPane());
			jFrame.setVisible(true);
			jFrame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
		}
		
		return jFrame;
	}
	
	private JDesktopPane getJDesktopPane() {
		if (jDesktopPane == null) {
			jDesktopPane = new JDesktopPane();
			TelaLogin tela = new TelaLogin();
			jDesktopPane.add(tela); 
		
		
		}
		return jDesktopPane;
	}
	
	private JMenuBar getJJMenuBar() {
		
		if (jJMenuBar == null) {
			jJMenuBar = new JMenuBar();
			jJMenuBar.add(getJMenuCadastro());
			jJMenuBar.add(getJMenuServico());
			jJMenuBar.add(getJMenuOrdem());
			jJMenuBar.add(getJMenuEquipe());
			jJMenuBar.add(getJMenuRelatorio());
			jJMenuBar.add(getJMenuAjuda());
			jJMenuBar.setVisible(true);
			
		}
		return jJMenuBar;
	}
	
	private JMenu getJMenuCadastro() {
		if (jMenuCadastro == null) {
			jMenuCadastro = new JMenu();
			jMenuCadastro.setText("Cadastro");
			jMenuCadastro.add(getJMenuItemCliente());
			jMenuCadastro.add(getJMenuItemFerramenta());
			jMenuCadastro.add(getJMenuItemFuncionario());
			jMenuCadastro.add(getJMenuItemMaodeObra());
			jMenuCadastro.add(getJMenuItemTipo());
			jMenuCadastro.add(getJMenuItemTecnico());
		}
		return jMenuCadastro;
	}
	
	public TelaPrincipal (){
		getJFrame();
	}

	private JMenuItem getJMenuItemCliente() {
		if (jMenuItemCliente == null) {
			jMenuItemCliente = new JMenuItem();
			jMenuItemCliente.setText("Cliente");
		}
		return jMenuItemCliente;
	}
	
	private JMenuItem getJMenuItemFerramenta() {
		if (jMenuItemFerramenta == null) {
			jMenuItemFerramenta = new JMenuItem();
			jMenuItemFerramenta.setText("Ferramentas");
		}
		return jMenuItemFerramenta;
	}
	
	private JMenuItem getJMenuItemFuncionario() {
		if (jMenuItemFuncionario == null) {
			jMenuItemFuncionario = new JMenuItem();
			jMenuItemFuncionario.setText("Funcionario");
		}
		return jMenuItemFuncionario;
	}
	
	private JMenuItem getJMenuItemMaodeObra() {
		if (jMenuItemMaodeObra == null) {
			jMenuItemMaodeObra = new JMenuItem();
			jMenuItemMaodeObra.setText("Mão de Obra");
		}
		return jMenuItemMaodeObra;
	}
	
	private JMenuItem getJMenuItemTipo() {
		if (jMenuItemTipo == null) {
			jMenuItemTipo = new JMenuItem();
			jMenuItemTipo.setText("Tipo");
		}
		return jMenuItemTipo;
	}
	
	private JMenuItem getJMenuItemTecnico() {
		if (jMenuItemTecnico == null) {
			jMenuItemTecnico = new JMenuItem();
			jMenuItemTecnico.setText("Tecnico");
		}
		return jMenuItemTecnico;
	}
	
	private JMenu getJMenuServico() {
		if (jMenuServico == null) {
			jMenuServico = new JMenu();
			jMenuServico.setText("Serviço");
			jMenuServico.add(getJMenuItemGerarSevico());
		}
		return jMenuServico;
	}
	
	private JMenuItem getJMenuItemGerarSevico() {
		if (jMenuItemGerarSevico == null) {
			jMenuItemGerarSevico = new JMenuItem();
			jMenuItemGerarSevico.setText("Gerar Serviço");
		}
		return jMenuItemGerarSevico;
	}
	
	private JMenu getJMenuOrdem() {
		if (jMenuOrdem == null) {
			jMenuOrdem = new JMenu();
			jMenuOrdem.setText("Ordem");
			jMenuOrdem.add(getJMenuItemGerarOrdem());
		}
		return jMenuOrdem;
	}
	
	private JMenu getJMenuEquipe() {
		if (jMenuEquipe == null) {
			jMenuEquipe = new JMenu();
			jMenuEquipe.setText("Equipe");
			jMenuEquipe.add(getJMenuItemMontar());
		}
		return jMenuEquipe;
	}
	
	private JMenuItem getJMenuItemMontar() {
		if (jMenuItemMontar == null) {
			jMenuItemMontar = new JMenuItem();
		}
		return jMenuItemMontar;
	}
	
	private JMenu getJMenuRelatorio() {
		if (jMenuRelatorio == null) {
			jMenuRelatorio = new JMenu();
			jMenuRelatorio.setText("Relatorios");
		}
		return jMenuRelatorio;
	}
	
	private JMenu getJMenuAjuda() {
		if (jMenuAjuda == null) {
			jMenuAjuda = new JMenu();
			jMenuAjuda.setText("Ajuda");
			jMenuAjuda.add(getJMenuItemIndice());
			jMenuAjuda.add(getJMenuItemSobre());
		}
		return jMenuAjuda;
	}
	
	private JMenuItem getJMenuItemIndice() {
		if (jMenuItemIndice == null) {
			jMenuItemIndice = new JMenuItem();
			jMenuItemIndice.setText("Indice");
		}
		return jMenuItemIndice;
	}
	
	private JMenuItem getJMenuItemSobre() {
		if (jMenuItemSobre == null) {
			jMenuItemSobre = new JMenuItem();
			jMenuItemSobre.setText("Sobre");
		}
		return jMenuItemSobre;
	}
	
	private JMenuItem getJMenuItemGerarOrdem() {
		if (jMenuItemGerarOrdem == null) {
			jMenuItemGerarOrdem = new JMenuItem();
			jMenuItemGerarOrdem.setText("Gerar Ordem");
		}
		return jMenuItemGerarOrdem;
	}
		
	public void mostraTela(JInternalFrame tela){
		
		jDesktopPane.add(tela);
		
		try {
			tela.setSelected(true);
			
		} catch (PropertyVetoException e) {
			
			e.printStackTrace();
		}
	}
	
	public void escuta (ActionListener l){
		
		jMenuItemCliente.addActionListener(l);
		jMenuItemTipo.addActionListener(l);
		jMenuItemFuncionario.addActionListener(l);
		jMenuItemTecnico.addActionListener(l);
				
	}
	
	
	
}

Tela Login

package visao;

import java.awt.*;
import javax.swing.*;
import javax.swing.event.*;
import java.awt.event.*;



public class TelaLogin extends JInternalFrame{

	private JPanel jContentPane = null;
	private JTextField jTextFieldUser = null;
	private JPasswordField jPasswordFieldPass = null;
	private JLabel jLabelUsuario = null;
	private JLabel jLabelSenha = null;
	private JButton jButtonOk = null;
	private JButton jButtonCancelar = null;

	public TelaLogin() {
		super();
		initialize();
	}

	
	private void initialize() {
		this.setSize(263, 194);
		this.setContentPane(getJContentPane());
		this.setResizable(false);
		this.setVisible(true);
		
	}
	
	private JPanel getJContentPane() {
		if (jContentPane == null) {
			jLabelSenha = new JLabel();
			jLabelSenha.setBounds(new Rectangle(12, 75, 50, 25));
			jLabelSenha.setText("Senha:");
			jLabelUsuario = new JLabel();
			jLabelUsuario.setBounds(new Rectangle(11, 25, 50, 25));
			jLabelUsuario.setText("Usuario:");
			jContentPane = new JPanel();
			jContentPane.setLayout(null);
			jContentPane.add(getJTextFieldUser(), null);
			jContentPane.add(getJPasswordFieldPass(), null);
			jContentPane.add(jLabelUsuario, null);
			jContentPane.add(jLabelSenha, null);
			jContentPane.add(getJButtonOk(), null);
			jContentPane.add(getJButtonCancelar(), null);
			
		}
		return jContentPane;
	}

	private JTextField getJTextFieldUser() {
		if (jTextFieldUser == null) {
			jTextFieldUser = new JTextField();
			jTextFieldUser.setBounds(new Rectangle(73, 26, 168, 29));
		}
		return jTextFieldUser;
	}

	private JPasswordField getJPasswordFieldPass() {
		if (jPasswordFieldPass == null) {
			jPasswordFieldPass = new JPasswordField();
			jPasswordFieldPass.setBounds(new Rectangle(75, 74, 168, 29));
		}
		return jPasswordFieldPass;
	}
	
	private JButton getJButtonOk() {
		if (jButtonOk == null) {
			jButtonOk = new JButton();
			jButtonOk.setBounds(new Rectangle(14, 119, 110, 35));
			jButtonOk.setText("ok");
			
		}
		return jButtonOk;
	}

	private JButton getJButtonCancelar() {
		if (jButtonCancelar == null) {
			jButtonCancelar = new JButton();
			jButtonCancelar.setBounds(new Rectangle(133, 119, 110, 35));
			jButtonCancelar.setText("Cancelar");
			
		}
		return jButtonCancelar;
	}


	public String getUser() {
		return jTextFieldUser.getText();
	}
	
	public void setUser(String s){
		jTextFieldUser.setText(s);
	}
	
	public String getPass() {
		return jPasswordFieldPass.getText();
	}
	
	public void setPass(String s){
		jPasswordFieldPass.setText(s);
	}
			
	public void escuta (ActionListener l){
		
		jButtonOk.addActionListener(l);
	    jButtonCancelar.addActionListener(l);

	}
	
	public void fecharTelas(){
		this.dispose();
	}


		
}

Controle Login

package controle;

import visao.*;
import modelo.*;
import dao.*;
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;

public class ControleLogin implements ActionListener {
	
    private TelaLogin tl;
    private Login l = new Login();
    
	public ControleLogin (TelaLogin  tl){
	this.tl=tl;
	tl.escuta(this);
}
	
	public void actionPerformed(ActionEvent e){
		
		JOptionPane.showMessageDialog(null,"To escutando!!!");
	if(e.getActionCommand().equals("ok")){
		
        l.setUser(tl.getUser());
		l.setPass(tl.getPass());
		
		DAOLogin daologin = new DAOLogin();
		
		try {
			
			daologin.consultar(l);
			
		} catch (Exception e1) {
			
				e1.printStackTrace();
				
		}
		
		
	}else{
		JOptionPane.showMessageDialog(null,"To escutando!!!");
		if (e.getActionCommand().equals("Cancelar")){
											
			try {
				
				tl.fecharTelas();
								
			} catch (Exception e1) {
				
				e1.printStackTrace();
				
     }
    }
   }	
  }
 }

Agradeço

3 Respostas

leandrogbraga

Ninguém pode dar uma luz???

barney

Seguinte na sua tela de Login TelaLogin
Crie uma instância de ControleLogin…

no método initialize

tire o método escuta…

jButtonOk.addActionListener(controleLogin); jButtonOk.setName("ok)
ControleLogin

public void actionPerformed(ActionEvent e){ Component component = (Component) e.getSource(); if(component.getName().equals("ok")) { System.out.println("AQUI"); }

leandrogbraga

Muito Obrigado!!!

Criado 6 de outubro de 2010
Ultima resposta 7 de out. de 2010
Respostas 3
Participantes 2