Duvida sobre Enum

4 respostas
Jose111

Tenho no meu sistema uma classe que guarda as cores que irão ser adicionadas nos componentes quando ganharem foco , etc…
Mas essas cores são guardadas em variáveis estáticas da seguinte forma:

public static Color Fundo = Color.WHITE;
public static Color Fonte = Color.BLACK;

Gostaria de passar essa classe para um Enum porque elas parece ser a melhor forma de guarda esses valores, mas estou com uma duvida de como retorna o valor de enum,
ficaria algo parecido com isso?

public enum Cores{

BRANCO(Color.WHITE)

}

Cores(Color cor){
this.cor=cor
}

private Color cor;

public Color getCor(){
retunr this.cor;
    }
}

Então está é a forma correta ou deve implementar o Enum de outra maneira?

4 Respostas

Felagund

Sim ficaria dessa maneira sim. é o ideal.

Eu gosto de declarar alguns metodos abstract no enum para forçarem a serem implementados por cada item.

Nada muito complexo não.

[]'s

Andre_Fonseca
Jose111:
Tenho no meu sistema uma classe que guarda as cores que irão ser adicionadas nos componentes quando ganharem foco , etc... Mas essas cores são guardadas em variáveis estáticas da seguinte forma:
public static Color Fundo = Color.WHITE;
public static Color Fonte = Color.BLACK;
Gostaria de passar essa classe para um Enum porque elas parece ser a melhor forma de guarda esses valores, mas estou com uma duvida de como retorna o valor de enum, ficaria algo parecido com isso?
public enum Cores{

BRANCO(Color.WHITE)

}

Cores(Color cor){
this.cor=cor
}

private Color cor;

public Color getCor(){
retunr this.cor;
    }
}
Então está é a forma correta ou deve implementar o Enum de outra maneira?

oi vc pode fazer algo assim

public enum Cores {
  BRANCO(0, "BRANCO"), 
  PRETO(1, "PRETO")

  private Integer codigo;
  private String descricao;

  Cores(Integer c, String d) {
    codigo = c;
    descricao = d;
  }
	

  public Integer getCodigo() {
    return codigo;
  }

   public String getDescricao() {
     return descricao;
   }

  public static void main (String args[]){ 
    System.out.println(Cores.BRANCO.getCodigo() + ":" + Cores.BRANCO.getDescricao());
  }
}
Jose111

Hum… Enum são melhores também em questão de performace.

Refactoring now :lol:

Jose111

Posso utilizar os enum para acessar as preferrências do sistema?
Tipo salvo elas em txt, xml ou banco e depois as leio e coloco em enuns assim posso acesa-las em todo o programa de forma mais “elegante”?(ou isso seria uma gambiarra?)
O que vocês acham sobre isso e de que forma vocês geralmente buscam estas preferências?
Exemplo de preferrências : comissão, impostos, juros, tipo de impressão, etc…

Outra coisa é preciso declarar uma variável para cada enum que eu for utilizar?

ConfigEnum corFonte = ConfigEnum.corFonte;
ConfigEnum corFoco = ConfigEnum.corFoco;
Criado 23 de julho de 2009
Ultima resposta 23 de jul. de 2009
Respostas 4
Participantes 3