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. 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.
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.