Como reutilizar uma classe que extende um JPanel

6 respostas
rsantini

olá…

Preciso de uma ajuda, não sei se alguém poderia me responder…

tenho quatro Classes que extendem um JPanel (Infodevedor, InfodevedorEmpresa e InfodevedorReferencia e Info devedortelefone) em cada uma delas tenho diversos componentes como JTextField e JComboBox…

Instancio a classe
JPanel teste = new InfoDevedor();

preencho os componentes dela atraves de sets:

setRGDev(“1234”);

Quando abro a outra tela instanciando novamente a classe e volto para a primeira tela, apesar das informaçoes estarem na tela , ao dar um getText() e devolvendo por meio de um get , ele me retorna o conteudo da outra TELA !!!

Alguém saberia me responder o que eu fiz de errado!

Obrigado.

6 Respostas

C
Nao entendi muito bem mais tente assim, as vezes de certo.

public class InfoDevedor extends JPanel

{

public InfoDevedor()

{

}

//seus metodos

}
em vez de instanciar JPanel panel = new InfoDevedor() instancie InfoDevedor panel = new InfoDevedor(); De uma olhadinha em herança acho q esteja pegando eh nisso ai porque vc esta tentando acessar dados das subclasses e nao ao contrario

rsantini

Tentei instanciar utilizando DevedorInfo teste = new DevedorInfo();

também não deu certo, continuou apresentando o mesmo problema…

não sei o que pode ser…

C

Poste o codigo da classe ai, as vezes eu te ajude

rsantini

Aí está, quando instancio novamente a classe em outra tela , ao voltar para a classe em que instanciei da primeira vez, apesar do prrrenchimento na tela estarem ok, qdo dou gettext() de um compponente para capturar o conteudo ele não me retorna nada!.

Obrigado.

package libraries;

import java.awt.event.FocusEvent;

import java.awt.event.FocusListener;

import java.awt.event.KeyEvent;

import java.awt.event.KeyListener;

import java.text.ParseException;
import javax.swing.JComboBox;

import javax.swing.JFormattedTextField;

import javax.swing.JLabel;

import javax.swing.JPanel;

import javax.swing.JTextField;

import javax.swing.text.MaskFormatter;

import lib.Formato;

import lib.Propriedades;

import lib.UpperCaseField;

/**

  • @author rogerio

  • TODO To change the template for this generated type comment go to

  • Window - Preferences - Java - Code Style - Code Templates
    /
    public class ConsumidorInfo extends JPanel implements FocusListener, KeyListener{
    /
    *

    • Comment for serialVersionUID
      */
      private static final long serialVersionUID = 3257850961144788021L;
      private static JLabel lblCPFCNPJDev = null;
      private static JFormattedTextField CPFCNPJDev = null;
      private static UpperCaseField nomeDev = null;
      private static JComboBox fiscalcboDev = null;
      private static UpperCaseField fiscalDev = null;
      private static JFormattedTextField DataNascDev= null;
      private static UpperCaseField RGDev = null;
      private static JComboBox sexocboDev = null;
      private static UpperCaseField sexoDev = null;
      private static JComboBox estadocivilcboDev = null;
      private static UpperCaseField estadocivilDev = null;
      private static UpperCaseField conjugeDev = null;
      private static UpperCaseField endDev = null;
      private static UpperCaseField complDev = null;
      private static JFormattedTextField CEPDev = null;
      private static UpperCaseField bairroDev = null;
      private static UpperCaseField cidadeDev = null;
      private static JComboBox UFcboDev = null;
      private static UpperCaseField UFDev = null;
      private static JTextField emailDev = null;
      private static UpperCaseField paiDev = null;
      private static UpperCaseField maeDev = null;

    private static MaskFormatter mascara = null;

    public ConsumidorInfo(int x,int y){

    setLayout(null);
     setBounds(x, y, 560, 170);
     mascara = new MaskFormatter();
     
     try {
     	mascara.setMask(Propriedades.mascara("mask.cpf"));
         
     } catch (ParseException e) {
         e.printStackTrace();
     }
     
     lblCPFCNPJDev = new JLabel();
     lblCPFCNPJDev.setText("CPF");
     lblCPFCNPJDev.setBounds(5, 28, 59, 15);
     add(lblCPFCNPJDev);
     CPFCNPJDev = new JFormattedTextField(mascara);
     CPFCNPJDev.setBounds(5,10,131,18);
     CPFCNPJDev.setFocusLostBehavior(JFormattedTextField.PERSIST);
     CPFCNPJDev.addFocusListener(this);
     CPFCNPJDev.addKeyListener(this);
     CPFCNPJDev.setForeground(Propriedades.cor("cor.azul"));
     CPFCNPJDev.setEditable(false);
     add(CPFCNPJDev);
     	    
     nomeDev = new UpperCaseField(60);
     nomeDev.setBounds(140, 10, 310, 18);
     nomeDev.addFocusListener(this);
     nomeDev.addKeyListener(this);
     add(nomeDev);
     JLabel lblNomeDev = new JLabel("Nome");
     lblNomeDev.setBounds(140, 28, 59, 15);
     nomeDev.setForeground(Propriedades.cor("cor.azul"));
     nomeDev.setEditable(false);
     add(lblNomeDev);
     
     fiscalcboDev = new CargaNatFiscal();
     fiscalcboDev.setBounds(455, 10, 85, 18);
     fiscalcboDev.addFocusListener(this);
     fiscalcboDev.addKeyListener(this);
     
     add(fiscalcboDev);
     
     fiscalDev = new UpperCaseField(40);
     fiscalDev.setBounds(455, 10, 85, 18);
     fiscalDev.addFocusListener(this);
     fiscalDev.addKeyListener(this);
     add(fiscalDev);
     
     JLabel lblfiscalDev = new JLabel("Nat.Fiscal");
     lblfiscalDev.setBounds(465, 28, 65, 15);
     add(lblfiscalDev);
     
     JLabel lblDataDev = new JLabel("Data Nasc.");
     lblDataDev.setBounds(5, 63, 59, 15);
     add(lblDataDev);
     DataNascDev = new JFormattedTextField(Formato.criaMascara(Propriedades.mascara("mask.data")));
     DataNascDev.setBounds(5,45,75,18);
     DataNascDev.setFocusLostBehavior(JFormattedTextField.PERSIST);
     DataNascDev.addFocusListener(this);
     DataNascDev.addKeyListener(this);
     add(DataNascDev);
     
     RGDev = new UpperCaseField(20);
     RGDev.setBounds(85, 45, 90, 18);
     RGDev.addFocusListener(this);
     RGDev.addKeyListener(this);
     add(RGDev);
     JLabel lblRGDev = new JLabel("RG");
     lblRGDev.setBounds(85, 63, 65, 15);
     add(lblRGDev);
    
     sexocboDev = new CargaSexo();
     sexocboDev.setBounds(180, 45, 75, 18);
     sexocboDev.addFocusListener(this);
     sexocboDev.addKeyListener(this);
     add(sexocboDev);
    
     sexoDev = new UpperCaseField(10);
     sexoDev.setBounds(180, 45, 75, 18);
     sexoDev.addFocusListener(this);
     sexoDev.addKeyListener(this);
     add(sexoDev);
     JLabel lblsexoDev = new JLabel("Sexo");
     lblsexoDev.setBounds(180, 63, 65, 15);
     add(lblsexoDev);
    
     estadocivilcboDev = new CargaEstadoCivil();
     estadocivilcboDev.setBounds(260, 45, 85, 18);
     estadocivilcboDev.addFocusListener(this);
     estadocivilcboDev.addKeyListener(this);
     add(estadocivilcboDev);
     
     estadocivilDev = new UpperCaseField(10);
     estadocivilDev.setBounds(260, 45, 85, 18);
     estadocivilDev.addFocusListener(this);
     estadocivilDev.addKeyListener(this);
     add(estadocivilDev);
     
     JLabel lblestadocivilDev = new JLabel("Estado Civil");
     lblestadocivilDev.setBounds(260, 63, 69, 15);
     add(lblestadocivilDev);
     
     conjugeDev = new UpperCaseField(40);
     conjugeDev.setBounds(350, 45, 190, 18);
     conjugeDev.addFocusListener(this);
     conjugeDev.addKeyListener(this);
     add(conjugeDev);
     JLabel lblconjugeDev = new JLabel("Nome do Cônjuge");
     lblconjugeDev.setBounds(350, 63, 100, 15);
     add(lblconjugeDev);
     		
     endDev = new UpperCaseField(60);
     endDev.setBounds(5, 80, 340, 18);
     endDev.addFocusListener(this);
     endDev.addKeyListener(this);
     add(endDev);
     JLabel lblendDev = new JLabel("Endereço");
     lblendDev.setBounds(5, 98, 59, 15);
     add(lblendDev);
     
     complDev = new UpperCaseField(20);
     complDev.setBounds(350, 80, 190, 18);
     complDev.addFocusListener(this);
     complDev.addKeyListener(this);
     add(complDev);
     JLabel lblcomplDev = new JLabel("Complemento");
     lblcomplDev.setBounds(350, 98, 85, 15);
     add(lblcomplDev);
     
     JLabel lblCEPDev = new JLabel("CEP");
     lblCEPDev.setBounds(5, 133, 30, 15);
     add(lblCEPDev);
     CEPDev = new JFormattedTextField(Formato.criaMascara(Propriedades.mascara("mask.cep")));
     CEPDev.setBounds(5,115,65,18);
     CEPDev.setFocusLostBehavior(JFormattedTextField.PERSIST);
     CEPDev.addFocusListener(this);
     CEPDev.addKeyListener(this);
     add(CEPDev);
     
     bairroDev = new UpperCaseField(30);
     bairroDev.setBounds(75, 115, 160, 18);
     bairroDev.addFocusListener(this);
     bairroDev.addKeyListener(this);
     add(bairroDev);
     JLabel lblbairroDev = new JLabel("Bairro");
     lblbairroDev.setBounds(75, 133, 69, 15);
     add(lblbairroDev);
     
     cidadeDev = new UpperCaseField(30);
     cidadeDev.setBounds(240, 115, 120, 18);
     cidadeDev.addFocusListener(this);
     cidadeDev.addKeyListener(this);
     add(cidadeDev);
     JLabel lblcidadeDev = new JLabel("Cidade");
     lblcidadeDev.setBounds(240, 133, 69, 15);
     add(lblcidadeDev);
    
     UFcboDev = new libraries.CargaUf();  
     UFcboDev.setBounds(365, 115, 45, 18);
     UFcboDev.addFocusListener(this);
     UFcboDev.addKeyListener(this);
     add(UFcboDev);
    
     UFDev = new UpperCaseField(2);
     UFDev.setBounds(365, 115, 45, 18);
     UFDev.addFocusListener(this);
     UFDev.addKeyListener(this);
     add(UFDev);
     JLabel lblUFDev = new JLabel("UF");
     lblUFDev.setBounds(365, 133, 20, 15);
     add(lblUFDev);
     
     emailDev = new JTextField(30);
     emailDev.setBounds(415, 115, 125, 18);
     emailDev.addFocusListener(this);
     emailDev.addKeyListener(this);
     add(emailDev);
     JLabel lblemailDev = new JLabel("e-mail");
     lblemailDev.setBounds(415, 133, 69, 15);
     add(lblemailDev);
     
     paiDev = new UpperCaseField(40);
     paiDev.setBounds(5, 150, 270, 18);
     paiDev.addFocusListener(this);
     paiDev.addKeyListener(this);
     add(paiDev);
     JLabel lblpaiDev = new JLabel("Nome do pai");
     lblpaiDev.setBounds(5, 168, 90, 15);
     add(lblpaiDev);
     
     maeDev = new UpperCaseField(40);
     maeDev.setBounds(280, 150, 260, 18);
     maeDev.addFocusListener(this);
     maeDev.addKeyListener(this);
     add(maeDev);
     JLabel lblmaeDev = new JLabel("Nome da mãe");
     lblmaeDev.setBounds(280, 168, 90, 15);
     add(lblmaeDev);
     		
     Formato.DefaultFormatter(this);
    

    }

    private void LimpaDevedor(){

    try {
     	mascara.setMask(Propriedades.mascara("mask.cpf"));
         lblCPFCNPJDev.setText("CPF");
         } catch (ParseException e) {
     	e.printStackTrace();
     }
     CPFCNPJDev.setText("");
     nomeDev.setText("");
     fiscalDev.setText("");
     fiscalcboDev.setSelectedIndex(-1);
     DataNascDev.setText("");
     RGDev.setText("");
     
     sexocboDev.setSelectedIndex(-1);
     sexoDev.setText("");
     estadocivilcboDev.setSelectedIndex( -1);
     estadocivilDev.setText("");
     
     conjugeDev.setText("");
     endDev.setText("");
     complDev.setText("");
     CEPDev.setText("");	
     bairroDev.setText("");
     cidadeDev.setText("");
     UFcboDev.setSelectedIndex(-1);
     UFDev.setText("");
     emailDev.setText("");
     paiDev.setText("");
     maeDev.setText("");
    
    }
    
    private static String sexoExtenso(String arg){
    
    String retorno = null;
    
    if(arg != null){
         if(arg.equalsIgnoreCase("M")){
             retorno = "MASC.";
         }
         else if(arg.equalsIgnoreCase("F")){
             retorno = "FEM.";
         }
         else {
             retorno = "DESC.";
         }
     }
    
     return retorno;
    

    }

    public static  void SelecionaTipoDoc(int tipo) {
    
    if(tipo==1){
    
    try {
    
    mascara.setMask(Propriedades.mascara(mask.cpf));
    
    lblCPFCNPJDev.setText(CPF);
    
    } catch (ParseException e) {
    
    e.printStackTrace();
    
    }	
    
    }else{
    
    try {
    
    mascara.setMask(Propriedades.mascara(mask.cnpj));
    
    lblCPFCNPJDev.setText(CNPJ);
    
    } catch (ParseException e) {
    
    e.printStackTrace();
    
    }
    
    }
    
    }
    
    public static String getCPFCNPJDev() {
    
    return CPFCNPJDev.getText();
    
    }
    
    public static void setCPFCNPJDev(String data) {
    
    CPFCNPJDev.setText(data);
    
    }
    
    public static String getNomeDev() {
    
    return nomeDev.getText();
    
    }
    
    public static void setNomeDev(String data) {
    
    nomeDev.setText(data);
    
    }
    
    public static String getFiscalDev() {
    
    return fiscalDev.getText();
    
    }
    
    public static void setFiscalDev(int data) {
    
    if (data > 0 && data <= 2){
    
    fiscalcboDev.setSelectedIndex(data - 1);
    
    }else{
    
    fiscalcboDev.setSelectedIndex(2);
    
    }
    
    if (data==1){
    
    fiscalDev.setText(FÍSICA);	
    
    }else if (data==2){
    
    fiscalDev.setText(JURÍDICA);
    
    }
    
    }
    
    public static void setDataNascDev(String data){
    
    DataNascDev.setText(data);
    
    }
    
    public static String getDataNascDev(){
    
    return DataNascDev.getText();
    
    }
    
    public static void setRGDev(String data){
    
    RGDev.setText(data);
    
    }
    
    public static String getRGDev(){
    
    return RGDev.getText();
    
    }
    
    public static String getSexoDev() {
    
    return sexoDev.getText();
    
    }
    
    public static void setSexoDev(String data) {
    
    sexocboDev.setSelectedItem(sexoExtenso(data));
    
    sexoDev.setText(sexoExtenso(data));
    
    }
    
    public static String getEstadocivilDev() {
    
    return estadocivilDev.getText();
    
    }
    
    public static void setEstadocivilDev(int data) {
    
    if (data > 0 && data <= 5){
    
    estadocivilcboDev.setSelectedIndex(data - 1);
    
    }else{
    
    estadocivilcboDev.setSelectedIndex(4);
    
    }
    
    if(data==1){
    
    estadocivilDev.setText(SOLTEIRO);
    
    }else if (data==2){
    
    estadocivilDev.setText(CASADO);
    
    }else if (data==3){
    
    estadocivilDev.setText(VIÚVO);
    
    }else if (data==4){
    
    estadocivilDev.setText(DIVORCIADO);
    
    }else{
    
    estadocivilDev.setText(OUTROS);
    
    }
    
    }
    
    public static void setConjugeDev(String data) {
    
    conjugeDev.setText(data);
    
    }
    
    public static String getConjugeDev() {
    
    return conjugeDev.getText();
    
    }
    
    public static void setEndDev(String data) {
    
    endDev.setText(data);
    
    }
    
    public static String getEndDev() {
    
    return endDev.getText();
    
    }
    
    public static void setComplDev(String data) {
    
    complDev.setText(data);
    
    }
    
    public static String getComplDev() {
    
    return complDev.getText();
    
    }
    
    public static void setCEPDev(String data) {
    
    CEPDev.setText(data);
    
    }
    
    public static String getCEPDev() {
    
    return CEPDev.getText();
    
    }
    
    public static void setBairroDev(String data) {
    
    bairroDev.setText(data);
    
    }
    
    public static String getBairroDev() {
    
    return bairroDev.getText();
    
    }
    
    public static void setCidadeDev(String data) {
    
    cidadeDev.setText(data);
    
    }
    
    public static String getCidadeDev() {
    
    return cidadeDev.getText();
    
    }
    
    public static void setUFDev(String data) {
    
    UFcboDev.setSelectedItem(data);
    
    UFDev.setText(data);
    
    }
    
    public static String getUFev() {
    
    return UFDev.getText();
    
    }
    
    public static void setEmailDev(String data) {
    
    emailDev.setText(data);
    
    }
    
    public static String getEmailDev() {
    
    return emailDev.getText();
    
    }
    
    public static void setPaiDev(String data) {
    
    paiDev.setText(data);
    
    }
    
    public static String getPaiDev() {
    
    return paiDev.getText();
    
    }
    
    public static void setMaeDev(String data) {
    
    maeDev.setText(data);
    
    }
    
    public static String getMaeDev() {
    
    return maeDev.getText();
    
    }
    

    public void focusGained(FocusEvent arg0) {
    // TODO Auto-generated method stub

    }

    /* (non-Javadoc)

    • @see java.awt.event.FocusListener#focusLost(java.awt.event.FocusEvent)
      
      */
      
      public void focusLost(FocusEvent arg0) {
      
      if (arg0.getSource() == fiscalcboDev){
      
      fiscalDev.setText(fiscalcboDev.getSelectedItem().toString());
      
      }
      
      if (arg0.getSource() == sexocboDev){
      
      sexoDev.setText(sexocboDev.getSelectedItem().toString());
      
      }
      
      if (arg0.getSource() == estadocivilcboDev){
      
      estadocivilDev.setText(estadocivilcboDev.getSelectedItem().toString());
      
      }
      
      if(arg0.getSource() == UFcboDev){
      
      UFDev.setText(UFcboDev.getSelectedItem().toString());
      
      }
      

    }

    /* (non-Javadoc)

    • @see java.awt.event.KeyListener#keyTyped(java.awt.event.KeyEvent)
      */
      public void keyTyped(KeyEvent arg0) {
      // TODO Auto-generated method stub

    }

    /* (non-Javadoc)

    • @see java.awt.event.KeyListener#keyPressed(java.awt.event.KeyEvent)
      */
      public void keyPressed(KeyEvent arg0) {
      // TODO Auto-generated method stub

    }

    /* (non-Javadoc)

    • @see java.awt.event.KeyListener#keyReleased(java.awt.event.KeyEvent)
      */
      public void keyReleased(KeyEvent arg0) {
      // TODO Auto-generated method stub

    }
    }

C

Cara acho q o problema pode ser nestas suas variaveis static.Numa variavel static todas as instâncias da classe irão compartilhar a mesma cópia da variável ou método.As variavel que é static não tem seu valor zerado ou setado no construtor a cada novo objeto criado.Sendo assim, tire a inicializaçao null de suas variaveis pois elas estao sendo inicializadas no construtor. Para trabalhar com este painel faça um getPainelConsumidorInfo() e depois os get’s para acessar seus atributos dele.De uma olhada em http://www.guj.com.br/java.artigo.121.1.guj

rsantini

ok muito obrigado pela ajuda.

Criado 24 de março de 2005
Ultima resposta 29 de mar. de 2005
Respostas 6
Participantes 2