Criar um tipo

8 respostas
M

Como que eu faço para criar um tipo em java?

8 Respostas

J

O que você chama de tipo?

Seria uma classe?

public class Teste{

}
M

Por exemplo, em delphi eu faria assim:

type 
   MeuTipo = (mtTeste,mtTeste2)
public
   function Retorna( Tipo : MeuTipo):String;
end;

function Retorna (Tipo : MeuTipo);
begin
  if Tipo = mtTeste then
     result('Teste');
  if Tipo = mtTeste2 then
     result('Teste2');
end;

Algo mais ou menos ansim.

J

Digamos que não sei muito de Delphi, mas tipo em Java é classe, ou nesse caso, como você parece estar usando pra constantes você pode usar enum.

classe:
public classe MeuTipo{
   
}
MeuTipo m = new MeuTipo();
enum:
public enum MeuTipo{
    TESTE, TESTE2;
}
MeuTipo m = MeuTipo.TESTE;

Dê uma olhada sobre orientação a objetos aí!

M

na verdade eu gostaria de fazer algo assim.

package adm.componentes.vizuais;

import javax.swing.Icon;
import javax.swing.ImageIcon;
import java.net.URL;

public class Icones {
	private String icnEditar    = "/adm/imagens/editar.bmp";
	private String icnNovo      = "/adm/imagens/novo.bmp";
	private String icnSalvar;   
	private String icnCancelar;
	private String icnExlcuir;
	private String icnImprimir;
	private String incFechar;
	private String icnAviso;
	private String icnErro;
	private String icnInterrogacao;
	
	public ImageIcon Icone (Icones inc){
		URL url = Icones.class.getResource(inc);
		return ImageIcon(url);      
	}
}

ps.:O codigo ta errado, mas é mais ou menos o que eu gostaria de fazer.

Bem, quando eu fosse carragar o icone em um botão, eu faria o seguinte:

btnEditar = new JButton("Editar", Icones(icnEditar));

E Ele ja carregaria o icone de editar.

J

Veja se é isso...

package adm.componentes.vizuais;

import javax.swing.Icon;
import javax.swing.ImageIcon;

public class Icones {
   public static final Icon EDITAR = new ImageIcon("/adm/imagens/editar.bmp");
   public static final Icon NOVO = new ImageIcon("/adm/imagens/novo.bmp");
}
btnEditar = new JButton("Editar", Icones.EDITAR);

Só não testei o uso do construtor ImageIcon(String filename), se ele não funcionar você pode criar um bloco static pra carregar os icones com o getResource()

M

vlw fera, erra isso mesmo q eu tava presizando. :grin:

Só pra finalizar. Pq foi usado static?

A

Bem, em java não existem estruturas, assim como no pascal(type) ou no c(struct). Estrutura é algo bastante similar a classes porém muito menos complexa e mais limitada tb. Java trabalha apenas com classes.]

Nesse ex q ele passou eu creio q ele tenha usado o static para q principalmente ele às acesse sem a necessidade de criar um objeto. Assim: Icones.EDITAR

J

Isso que o ACDias falou aí.

Usar o static indica que o atributo é da classe e não de uma instancia especifica, assim eu posso acessa-lo sem criar uma instancia da classe, se não usar teria que fazer assim:

Icones ico = new Icones(); ico.EDITAR;

pois nesse caso o atributo EDITAR não pertence à classe Icones e sim ao objeto referenciado por ico.

Criado 4 de agosto de 2006
Ultima resposta 4 de ago. de 2006
Respostas 8
Participantes 3