Qual classe gerencia a aparência dos componentes quando eles são desativados?

3 respostas
FkJ

Exemplo: quando um JTextField é desativado a borda e a cor do texto mudam. Gostaria de saber qual classe faz isso para customização.

Obrigado,
Felipe

3 Respostas

andredeividi

Ola
Cara esse tempos tive de fazer umas motifição da aparencia do sistema
por que o setEnable(false); deixa o texto dentro cinza e fica orrivel a leitura
a solução foi setar setEditable(false) em vez do enable.
Não achei nada para mudar a aparencia.

abraço

FkJ

Resolvi o problema. A solução foi o setEditable() mesmo. Ele muda a cor do plano de fundo e deixa o texto legível. Só não concordo com o campo não editável receber focus, mas basta um setEditable(false) para resolver.

andredeividi, para vc mudar a cor do texto desativado, conheço duas formas:

  1. seuTextField.setDisabledTextColor(corDesejada);
  2. No método main(), antes executar setVisible(true) na sua classe visual, insira a seguinte linha:
    UIManager.put(“TextField.inactiveForeground”, corDesejada);

Para evitar repetição de código, na primeira alternativa vc pode herdar a classe JTextField e na segunda criar um look and feel customizado

andredeividi

Legal mas eu resolvi com editable tambem, vc tera problema com combo

o editable do combo define se deixar digitar ou não.

private void CampoPopupMenuWillBecomeVisible(javax.swing.event.PopupMenuEvent evt) { if (isDesabilitaSelecao()){ cbCampo.setDefaultLocale(null); cbCampo.setPopupVisible(true); }

Esse combo e componente desenvolvido por mim
eu tive de sobre escrever o metodo setEnable()
para setar uma variavel “isDesabilitaSelecao”

abraço

Criado 15 de maio de 2007
Ultima resposta 16 de mai. de 2007
Respostas 3
Participantes 2