Tratamento de eventos em classe e pacote diferentes

0 respostas
P

Então, tenho esse pequeno exercício que a classe ControllerCarro funciona quando implementada na mesma classe JanelaCarro, mas quando mudo de pacote não consigo faze-la funcionar. Não sei se estou referenciando errado e já tentei muitas coisas. Se alguém souber como ajudar...

package principal;
import java.awt.FlowLayout;
import java.awt.event.ActionListener;
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JTextField;

public class JanelaCarro extends JFrame {
    public JLabel JLmarca;
    public JLabel JLmodelo;
    public JLabel JLTipoCombustivel;
    public JLabel JLpreco;
    public JLabel JLcilindros;
    public JLabel JLpassageiros;
    public JLabel JLpotencia;
    public JLabel JLpercentual;
    public JLabel JLnumeroRodas;
    
    public JTextField JTmarca;
    public JTextField JTpotencia;
    public JTextField JTpassageiros;
    public JTextField JTmodelo;
    public JTextField JTcilindros;
    public JTextField JTnumeroRodas;
    public JTextField JTTipoCombustivel;
    public JTextField JTpercentual;
    public JTextField JTpreco;
    
    public JButton JBsalvar, JBlimpar;
   
    public JanelaCarro(){
        setTitle("Cadastro de Carros");
        JBsalvar = new JButton("Salvar");
        JBlimpar = new JButton("Limpar");
       
        setLayout(new FlowLayout());
        setSize(600,180);
        setLocationRelativeTo(null);
        setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); 
        setVisible(true);
        
        JLmarca = new JLabel("Marca: ");
        JTmarca = new JTextField(10);
        JLmodelo = new JLabel("Modelo: ");
        JTmodelo = new JTextField(15);
        JLcilindros = new JLabel("Cilindros: ");
        JTcilindros = new JTextField(8);
        JLpotencia = new JLabel("Potência: ");
        JTpotencia = new JTextField(8);
        JLnumeroRodas = new JLabel("Número de rodas: ");
        JTnumeroRodas = new JTextField(8);
        JLpreco = new JLabel("Preço: ");
        JTpreco = new JTextField(10);
        JLpassageiros = new JLabel("Passageiros: ");
        JTpassageiros = new JTextField(5);
        JLTipoCombustivel = new JLabel("Tipo de Combustível: ");
        JTTipoCombustivel = new JTextField(10);
        JLpercentual = new JLabel("Percentual: ");
        JTpercentual = new JTextField(5);
    
        add(JLmarca);
        add(JTmarca);
        add(JLmodelo);
        add(JTmodelo);
        add(JLcilindros);
        add(JTcilindros);
        add(JLpotencia);
        add(JTpotencia);
        add(JLnumeroRodas);
        add(JTnumeroRodas);
        add(JLpreco);
        add(JTpreco);
        add(JLpassageiros);
        add(JTpassageiros);
        add(JLTipoCombustivel);
        add(JTTipoCombustivel);
        add(JLpercentual);
        add(JTpercentual);
        add(JBsalvar);
        add(JBlimpar);
    }    
    public void addLimpaListener(ActionListener limp){
        this.JBlimpar.addActionListener(limp);	
    } 
}




package controller;

import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import principal.JanelaCarro;

public class ControllerCarro{
    public JanelaCarro car = new JanelaCarro();
    
    public ControllerCarro(){
        this.car = car;
        car.addLimpaListener(new LimpaConteudo());
    }
    
    class LimpaConteudo implements ActionListener {
        public void actionPerformed(ActionEvent evt) {
            Object lim = evt.getSource();
            if (lim == car.JBlimpar) {   
                car.LimparTudo();                
            }
        }
        public void LimparTudo(){
            car.JTmarca.setText("");
            car.JTmodelo.setText("");
            car.JTcilindros.setText("");
            car.JTpotencia.setText("");
            car.JTnumeroRodas.setText("");
            car.JTpreco.setText("");
            car.JTpassageiros.setText("");
            car.JTTipoCombustivel.setText("");
            car.JTpercentual.setText(""); 
    }
    }
}
Criado 30 de agosto de 2014
Respostas 0
Participantes 1