Tirar foco de um JTextField [RESOLVIDO]

Boa noite pessoal, estou desenvolvendo uma tela de cadastro e quero que o campo de código apareco o conteúdo dele (código), porém quero deixá-lo inacessível para o usuário, apenas para visualizar, tenho um componente MeuCampoCodigo, mas não consegui redefinir, tenho um método na classe principal habilitarCampos com retorno (boolean), tentei redefiní-lo mas não tive exíto, se alguém puder me dar uma ideia eu agradeço.


package Componentes;

import Estrutura.MeuComponente;
import java.awt.event.FocusEvent;
import java.util.ArrayList;
import java.util.List;

public class MeuCampoCodigo extends MeuJTextField {

    public List<MeuComponente> campos = new ArrayList();

    public MeuCampoCodigo (String dica, boolean obrigatorio, int tamanho) {
        super(dica, obrigatorio, tamanho);
    }

    public int getValor() {
       return Integer.parseInt(getText());
   }

   public void setValor(int valor) {
       setText("" + valor);
   }

    @Override
    public void limpar() {
        setText("");
    }

    @Override
    public boolean eValido() {
        return true;
    }

    @Override
    public void focusGained(FocusEvent e) {
        super.getFocusListeners();
    }

    @Override
    public void focusLost(FocusEvent e) {
    }
}

Boa noite CarlosAlexandre.

Sua questão é bem simples.

O componente JTextField tem um método “setEditable(true)”, que voce nem precisa reescrevêl-o nas classes herdadas, bastando invocá-lo assim:

  MeuCampoCodigo codigo= new MeuCampoCodigo("TesteDica", true, 10);
  codigo.setEditable(false);

Caso voce queira passar esse parâmetro via construtor, também nem precisa rescrever o método, e só implementar o construtor assim:

    .....
    .....
    public class MeuCampoCodigo extends MeuJTextField {  
  
          public List&lt;MeuComponente&gt; campos = new ArrayList();  
  
          public MeuCampoCodigo (String dica, boolean obrigatorio, boolean editavel, int tamanho) {
                super(dica, obrigatorio, tamanho);
                setEditable(editavel);
          }
          ....
          ....
    }