package criacaoDinamicaComTexto;
import static edugraf.jadix.eventos.nomes.NomeDeEventosSimples.CLICADO;
import static edugraf.jadix.fachada.TiposDeComponentesDix.*;
import java.util.Map;
import java.util.HashMap;
import edugraf.jadix.ApliqueJadix;
import edugraf.jadix.eventos.EventoSimples;
import edugraf.jadix.fachada.ComponenteDix;
import edugraf.jadix.fachada.PaginaDix;
import edugraf.jadix.fachada.TiposDeComponentesDix;
import edugraf.jadix.fachada.TratadorDixAbstrato;
public class Dinamica extends ApliqueJadix {
private PaginaDix pagina = obterPaginaDix();
private ComponenteDix botãoDeCriar = pagina.criarComponente("criar");
private ComponenteDix textoDoUsuário = pagina.criarComponente("tipo");
private ComponenteDix componenteCriado = pagina.criarComponente("últimoTexto");
private final Map<String,TiposDeComponentesDix> m = new HashMap<String, TiposDeComponentesDix>();
public void iniciar(){
inicializarMapaDeNomes();
botãoDeCriar.adicionarTratadorDeEventos(new TratadorDoBotaoDeCriar());
}
private void inicializarMapaDeNomes() {
m.put("área de texto", ÁREA_DE_TEXTO);
m.put("botão", BOTÃO);
m.put("campo", CAMPO_DE_TEXTO);
m.put("enlace", ENLACE);
//e assim por diante...
}
class TratadorDoBotaoDeCriar extends TratadorDixAbstrato{
public void seDito(EventoSimples evento)
{
if(evento.obterNomeDoEvento() == CLICADO )
criarComponente(textoDoUsuário.obterTexto());
}
private void criarComponente(String nomeDoComponente) {
pagina.criarComponente(m.get(nomeDoComponente), nomeDoComponente + gerarAleatórioAté1000())
.fixarTopo(gerarAleatórioAté1000())
.fixarEsquerda(gerarAleatórioAté1000());
componenteCriado.fixarTexto(nomeDoComponente);
}
public int gerarAleatórioAté1000(){
return (int) (1000 * Math.random());
}
}
}