Gostaria de desenvolver uma classe que baseado em parâmetros ela me gerasse uma tela que eu pudesse interagir com as informações que ela irá receber da mesma forma que eu escrevesse isto através de um código específico para esta finalidade.
Eu passaria os parâmetros TipoObjeto, NomeObjeto, DescrObjeto, TamObjeto, exemplo:
ArrayList componentes = new ArrayList();
HashMap m = new HashMap();
m.put("tipo", new Label());
m.put("nome", "lblUsuario");
m.put("caption", "Usuario");
componentes.add(m);
E assim por diante, com o resto dos componentes. Depois seria soh iterar pelos dados e montar da forma que achar melhor.
Pessoalmente, se voce for criar uma algo nesse estilo, cria uma classe representando os tipos, ao inves de usar HashMap. Fica mais elegante e facil de trabalhar:
class MeuTipoDeComponente {
// declara o tipo de classe, nome do campo
// caption e etc etc, cria os getters e
// setters e etc..
}
[...]
ArrayList meusComponentes = new ArrayList();
MeuTipoDeComponente c = new MeuTipoDeComponente();
c.setType(new Label());
c.setCaption("Usuario");
c.setName("lblUsuario");
meusComponentes.add(c);
[....]
ArrayList componentes = new ArrayList();
HashMap m = new HashMap();
m.put("tipo", new Label());
m.put("nome", "lblUsuario");
m.put("caption", "Usuario");
componentes.add(m);
E assim por diante, com o resto dos componentes. Depois seria soh iterar pelos dados e montar da forma que achar melhor.
Pessoalmente, se voce for criar uma algo nesse estilo, cria uma classe representando os tipos, ao inves de usar HashMap. Fica mais elegante e facil de trabalhar:
class MeuTipoDeComponente {
// declara o tipo de classe, nome do campo
// caption e etc etc, cria os getters e
// setters e etc..
}
[...]
ArrayList meusComponentes = new ArrayList();
MeuTipoDeComponente c = new MeuTipoDeComponente();
c.setType(new Label());
c.setCaption("Usuario");
c.setName("lblUsuario");
meusComponentes.add(c);
[....]
Rafael[/quote]
Rafael
Obrigado pela sua resposta. Ainda não conheço esta parte do Java mas é um caminho, vou estudar e ver se consigo desenvolver isto.
Só uma idéia, eu já vi fazerem isso.
Pode-se colocar os componentes de uma tela (JLabels, JTextFields, etc)
em um arquivo XML e montar a tela através deste XML.
Acho que pode dar certo…
Getters são métodos criados para retornar os valores dos atributos da classe, e setters são os métodos usados para alterar o valor deles.
Exemplo:
[code]public class Pessoa {
private String nome;
/**
* Getter para retornar o nome da Pessoa
*/
public String getNome() {
return nome;
}
/**
* Setter - altera o nome da Pessoa
*/
public void setNome(String nome) {
this.nome = nome;
}