Ir ao conteúdo
  • Cadastre-se

não consigo encontrar o porque de o botão salvar não aparecer o que foi salvo


Posts recomendados

guj.pngguj2.png

 

estou usando mvc, e queria que quando clicasse em salvar aparecesse o titulo e o autor, porém não aparece. quando faço tudo em uma classe só, roda perfeitamente. mas chamndo os pacotes não aparece nada quando clico em salvar.

tem a classe livroView que mostra a interface, e a classe controlarLivroView que faz as operações de salvar. tem também a classe principal com o main. só que o problema é que não aparece nada ao salvar. tem também as VOs que por enquanto não estou usando.

 

package controle;

import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import model.TituloVO;
import model.AutorVO;
import view.LivroView;

public class ControlarLivroView implements ActionListener{

    private LivroView tela;

    public ControlarLivroView() {
    tela = new LivroView();
        tela.getBtSalvar().addActionListener(this);
    }

    @Override
    public void actionPerformed(ActionEvent ae) {
        if(ae.getSource() == this.tela.getBtSalvar()){
             String peguei1 = this.tela.getCampoTitulo().getText();
             String peguei2 = this.tela.getCampoAutor().getText();

             this.tela.getCampoDisabilitadoTitulo().setText(peguei1);
             this.tela.getCampoDisabilitadoAutor().setText(peguei2);
         }  
    }
}
package view;

public class Principal {

    public static void main(String[] args) {
        new LivroView().setVisible(true);
    }
}

 

Link para o comentário
Compartilhar em outros sites

  • 3 semanas depois...

O problema é que você não está instanciando a Classe ControlarLivroView, e com isso você não está setando o actionListener no botão ... veja como eu montei essa aplicação
 

public class LivroView extends JFrame {

	private static final long serialVersionUID = 1L;
	private JPanel contentPane;
	private JTextField campoTitulo;
	private JTextField campoAutor;
	private JButton btSalvar;
	private JTextField campoDisabilitadoTitulo;
	private JTextField campoDisabilitadoAutor;

    public LivroView() {
        //... toda inicialização da tela
        btSalvar.addActionListener(new ControlarLivroView(this));
    }
}

E o ActionListener fica assim:

public class ControlarLivroView implements ActionListener {

	private LivroView tela;
	
	public ControlarLivroView(LivroView tela) {
    	this.tela = tela;
        this.tela.getBtSalvar().addActionListener(this);
    }
	
	@Override
    public void actionPerformed(ActionEvent ae) {
        if(ae.getSource() == this.tela.getBtSalvar()){
             String peguei1 = this.tela.getCampoTitulo().getText();
             String peguei2 = this.tela.getCampoAutor().getText();

             this.tela.getCampoDisabilitadoTitulo().setText(peguei1);
             this.tela.getCampoDisabilitadoAutor().setText(peguei2);
         }  
    }
}

Assim quando você executar new LivroView().setVisible(true), ele irá instanciar a janela e já setar o actionListener na janela corretamente ...

Link para o comentário
Compartilhar em outros sites

Visitante
Este tópico está impedido de receber novas respostas.

Sobre o Clube do Hardware

No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas comunidades sobre tecnologia do Brasil. Leia mais

Direitos autorais

Não permitimos a cópia ou reprodução do conteúdo do nosso site, fórum, newsletters e redes sociais, mesmo citando-se a fonte. Leia mais

×
×
  • Criar novo...