Criar um tipo

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

O que você chama de tipo?

Seria uma classe?

[code]public class Teste{

}[/code]

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.

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:

[code]public classe MeuTipo{

}[/code]

MeuTipo m = new MeuTipo();

enum:

public enum MeuTipo{ TESTE, TESTE2; }

MeuTipo m = MeuTipo.TESTE;

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

na verdade eu gostaria de fazer algo assim.

[code]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);      
}

}[/code]

ps.:open_mouth: 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.

Veja se é isso…

[code]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");
}[/code]

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()

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

Só pra finalizar. Pq foi usado static?

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

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.