Gerador de Tela

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:

Label, lblUsuário, “Usuário:”, 0
CxTexto, txtUsuário, “”, 15
Label, lblSenha, “Senha:”, 0
CxTexto, txtSenha, “”, 8

E o programa desenharia uma tela:

Usuário: _____________
Senha: _______

Fiz várias tentativas diferente e o principal problema está sendo como criar o objeto passando o nome do objeto por parâmetro.

Alguém teria um exemplo simples ou algum material bem direcionado ao problema ?

Agradeço a quem puder dar uma força,

Valeu :smiley:

Que tal passar um HashMap com os objetos que vc quer mostrar pro renderer?

CV

Desculpe mas eu sou principiante e não entendi o que você respondeu você poderia tentar me explicar a sua idéia.

Valeu !

Mais ou menos isso:

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 Steil”]Mais ou menos isso:

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.

Valeu mesmo :smiley:
Abraço,

Hugo

Bom dia, tudo beleza???

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…

Falow,

Abraço

Rafael/Pessoal

No exemplo abaixo, aonde tem a observação, o que seria os getters e setters ?

Hugo.

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©;

[…]

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;
}

}[/code]

[]'s