r1 - 15 Apr 2007 - 08:23:57 - MeLgaYou are here: TWiki >  Cursos Web  > DesenvolvimentoOrientadoAObjetos > EncontrosDOO > TrezeDeAbril > FatoracaoDeCriacaoDinamica



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


Edit | WYSIWYG | Attach | Printable | Raw View | Backlinks: Web, All Webs | History: r1 | More topic actions
 
Powered by TWiki
This site is powered by the TWiki collaboration platformCopyright © by the contributing authors. All material on this collaboration platform is the property of the contributing authors.
Ideas, requests, problems regarding TWiki? Send feedback