Jadix é um framework (infra-estrutura) para usar Apliques em páginas com linguagem de marcação Dix e Apliques em Java, que permite a
criação e manipulação dinâmica de componentes Dix, bem como o tratamento de eventos de componentes Dix transformando-os em eventos Java, dando conta assim das manipulações do
usuário na interface WEB.
O que iremos abordar nessa apresentação?
-
- Introdução a Apliques em páginas Dix
- Marcação da página Dix
- Marcação do Aplique na página Dix
- Exemplo final de Aplique em Dix
- Página Dix com Aplique e Componente
- Aspectos principais da estrutura do Jadix
- Apliques em Jadix
- Relação entre Aplique e Componente
- Ciclo de vida inicial do Aplique
- Manipulando um ComponenteDix? em Java com o Jadix
- Classe ApliqueJadix?
- Exemplo de criação de objeto do tipo ComponenteDix?
- Métodos para os objetos do tipo ComponenteDix?
Introdução a Apliques em páginas Dix:
- a primeira linha num arquivo DIX sempre deve ser <?xml version="1.0" encoding="UTF8"?>
- a segunda linha deve ser <?xml-stylesheet type="text/xsl" href=" <caminho relativo ou absoluto ao localDaInstalação>/ transformacao/dix.xml" ?>
onde {caminho relativo ou absoluto ao localDaInstalação} normalmente e algo como ../../ (caminho relativo) ou /tmp/dix_AAAA-MM-DD/ (caminho absoluto)
- inclua as marcacões <página> e </página> e entre elas as demais marcacões e seu conteúdo desejado (= seu código)
- então um arquivo Dix inicialmente algo assim
<?xml version="1.0" encoding="UTF8"?>
<?xmlstylesheet type="text/xsl" href=“<caminho relativo ou absoluto ao localDaInstalação>/transformacao/dix.xsl“ ?>
<página nome="umaPáginaDix">
...Componentes Dix ...( dentre eles: um ou mais <aplique>(s))
</página>
Aplique é a área do navegador onde é executada sua aplicação em Java com Dix, e em uma página Dix podemos ter vários Apliques e/ou Componentes Dix.
Exemplo do Aplique na página:
<?xml version="1.0" encoding="UTF8"?>
<?xmlstylesheet type="text/xsl" href=“<localDaInstalação>/transformacao/dix.xsl“ ?>
<página nome="umaPáginaDix">
<aplique nome="meuAplique"
linguagem="Java"
codebase="file:/home/usuário/wokspace/apliquesJadix/bin/"
classe="exemplo.Teste"
esquerda="0"
topo="0"
altura="0"
largura="0"
/>
</página>
Configuração dos atributos do Aplique:
<aplique nome="<nome do aplique>"
linguagem="Java"
codebase="file:/<pasta a onde se encontra o seu .class>"
classe="<nome da classe que estende ApliqueJadix(incluindo o nome do pacote)>"
esquerda="<numero>"
topo="<numero>"
altura="<numero>"
largura="<numero>"
/>
- Exemplo final de Aplique em Dix
classe:
"Teste.java",
no pacote:
"exemplo",
pasta dos binários:
"/home/usuário/workspace/ApliquesJadix/bin"
<aplique nome="meuAplique"
linguagem="Java"
codebase="file:/home/usuário/workspace/apliquesJadix/bin"
classe="exemplo.Teste"
esquerda="0"
topo="0"
altura="0"
largura="0"
/>
- Página Dix com Aplique e Componente
Os componentes de uma página Dix são: Área de Texto, Área Sensível, Botão, Botões de Rádio, Caixa de Escolha, Campo de Texto, Lista de Escolha, Enlace, Etiqueta, Grade, Imagem. Para obter mais informações a respeito da marcação destes componentes veja a
DocumentacaoDix.São utilizados em conjuntos com os Apliques Dix para criação da interface gráfica WEB. O eventos de cada Componente criado em Dix, são tratados pelo seu Aplique em Java.
<página nome="imagem1" título="ComponenteDix e Aplique">
<imagem nome="pinguim" esquerda="10" topo="10" largura="100" altura="100" uri="imagens/pinguim.jpg" />
<aplique nome="aplique1"
linguagem="Java"
codebase="../../bin"
classe="alturaDoComponenteVariavel.Aplique"
/>
</página>
Aspectos principais da estrutura do Jadix
Para criarmos Apliques em Jadix temos que criar uma classe em Java e salvar o arquivo .java usando um editor de texto ou uma IDE como o Eclipse. Uma classe de nome "Aplique" teria a seguinte forma:
import edugraf.jadix.*;
public class Aplique extends ApliqueJadix {
}
Como você pode observar a classe "Aplique" estende (herda) as características da classe "ApliqueJadix", ou seja, a classe que você criou é subclasse de
ApliqueJadix?, se você observar na API (blblioteca do Jadix) verá que a classe
ApliqueJadix? possui um método "void"
iniciar(), chamado quando o Aplique está pronto. Deve-se sobrescrever este
método (é um método vazio, não necessita de super.iniciar()). Uma segunda versão do Aplique acima tem o método iniciar, como podemos ver a seguir:
import edugraf.jadix.*;
public class Aplique extends ApliqueJadix {
public void iniciar(){
System.out.println(“oi, página“);
}
}
- Relação entre Aplique e Componente
O código Java (“UmApliqueJava“) referenciado no aplique poderá manipular a imagem (“pinguim“):
<imagem nome="pinguim"
esquerda="10"
topo="10"
largura="100"
altura="100"
uri="imagens/pinguim.jpg"
/>
<aplique nome="aplique1"
linguagem="Java" codebase="../../bin"
classe="UmApliqueJava"
/>
- Ciclo de vida inicial do Aplique
1. O navegador encontra a marcação <aplique>
2. O navegador percorre a marcação <aplique> para encontrar o atributo de código, e possivelmente de endereço base
3. O navegador baixa o arquivo .class para o aplique.
4. O navegador converte a sequencia de bytes que baixou em uma classe Java
5. O navegador instancia a classe, criando um objeto aplique.
6. O navegador invoca o método iniciar() do apllique.
classe ApliqueJadix? (cont. >70
Objetos do tipo ApliqueJadix? podem também usar o método
criarComponente (String nome);
que retorna um objeto do tipo ComponenteDix?
Os objetos desse tipo são usados como ligação para os
componentes Dix de mesmo nome, na página Dix.
Exemplo de criação de objeto do tipo
ComponenteDix?
public class meuAplique extends ApliqueJadix? {
ComponenteDix? oPinguim = this.criarComponente("pinguim");
public void iniciar(){
// neste contexto, oPinguim representa o componente pinguim
// da página Dix (imagem de um pinguim)
}
}
Objetos do tipo ComponenteDix?
fixarCoordenadas(int esquerda, int topo)
Fixa as coordenadas do componente.
fixarDimensoes(int altura, int largura)
Fixa as dimensões do componente.
int obterEsquerda()
Obtém o valor do atributo esquerda do componente.
int obterTopo()
Obtém o valor do atributo topo.
Próximos passos
Comunicação com páginas Dix
➲
EventosDix?
➲
Tratamento de eventos
➲
Exemplo completo
➲