28
FERRAMENTA PARA CONVERSÃO DE INTERFACES JAVA SWING EM HTML E JAVASCRIPT Acadêmica: Marciele Fernanda Severo Orientadora: Joyce Martins

FERRAMENTA PARA CONVERSÃO DE INTERFACES JAVA SWING …campeche.inf.furb.br/tccs/2008-II/2008-2-14-ap-marcielefsevero.pdf · DE INTERFACES JAVA SWING EM HTML E JAVASCRIPT Acadêmica:

  • Upload
    others

  • View
    10

  • Download
    0

Embed Size (px)

Citation preview

Page 1: FERRAMENTA PARA CONVERSÃO DE INTERFACES JAVA SWING …campeche.inf.furb.br/tccs/2008-II/2008-2-14-ap-marcielefsevero.pdf · DE INTERFACES JAVA SWING EM HTML E JAVASCRIPT Acadêmica:

FERRAMENTA PARA CONVERSÃO DE INTERFACES JAVA SWING EM

HTML E JAVASCRIPT

Acadêmica: Marciele Fernanda Severo

Orientadora: Joyce Martins

Page 2: FERRAMENTA PARA CONVERSÃO DE INTERFACES JAVA SWING …campeche.inf.furb.br/tccs/2008-II/2008-2-14-ap-marcielefsevero.pdf · DE INTERFACES JAVA SWING EM HTML E JAVASCRIPT Acadêmica:

Roteiro• Introdução

– Objetivos do trabalho

• Fundamentação teórica– Geradores de código, Componentes de interface e

tratadores de evento em Java, HTML, Javascript, Motor de templates Velocity

• Desenvolvimento do sistema– Requisitos principais, Especificação, Resultados e discussão e

Trabalhos correlatos

• Conclusão– Extensões

Page 3: FERRAMENTA PARA CONVERSÃO DE INTERFACES JAVA SWING …campeche.inf.furb.br/tccs/2008-II/2008-2-14-ap-marcielefsevero.pdf · DE INTERFACES JAVA SWING EM HTML E JAVASCRIPT Acadêmica:

Introdução

• Demanda por sistemas web– Vantagens

• Reengenharia de software– Tradução do programa

– Economia

Page 4: FERRAMENTA PARA CONVERSÃO DE INTERFACES JAVA SWING …campeche.inf.furb.br/tccs/2008-II/2008-2-14-ap-marcielefsevero.pdf · DE INTERFACES JAVA SWING EM HTML E JAVASCRIPT Acadêmica:

Objetivos do trabalho

• converter componentes de interface Swing

• converter tratamentos de eventos de interface

• utilizar templates para configurar o formato do código de saída

• analisar o grau de compatibilidade entre o código gerado e o código de entrada da ferramenta

Page 5: FERRAMENTA PARA CONVERSÃO DE INTERFACES JAVA SWING …campeche.inf.furb.br/tccs/2008-II/2008-2-14-ap-marcielefsevero.pdf · DE INTERFACES JAVA SWING EM HTML E JAVASCRIPT Acadêmica:

Fundamentação Teórica

Page 6: FERRAMENTA PARA CONVERSÃO DE INTERFACES JAVA SWING …campeche.inf.furb.br/tccs/2008-II/2008-2-14-ap-marcielefsevero.pdf · DE INTERFACES JAVA SWING EM HTML E JAVASCRIPT Acadêmica:

• Geradores de código

• Componentes de interface e tratadores de evento em Java

• HTML e Javascript

• Motor de templates Velocity

Page 7: FERRAMENTA PARA CONVERSÃO DE INTERFACES JAVA SWING …campeche.inf.furb.br/tccs/2008-II/2008-2-14-ap-marcielefsevero.pdf · DE INTERFACES JAVA SWING EM HTML E JAVASCRIPT Acadêmica:

Desenvolvimento do Sistema

Page 8: FERRAMENTA PARA CONVERSÃO DE INTERFACES JAVA SWING …campeche.inf.furb.br/tccs/2008-II/2008-2-14-ap-marcielefsevero.pdf · DE INTERFACES JAVA SWING EM HTML E JAVASCRIPT Acadêmica:

Requisitos Principais funcionais

• Converter componentes de interface Java Swing para HTML

• Converter tratadores de eventos da linguagem Java para JavaScript

Page 9: FERRAMENTA PARA CONVERSÃO DE INTERFACES JAVA SWING …campeche.inf.furb.br/tccs/2008-II/2008-2-14-ap-marcielefsevero.pdf · DE INTERFACES JAVA SWING EM HTML E JAVASCRIPT Acadêmica:

Requisitos principais não funcionais

• Manter o layout original dos componentes de interface e a funcionalidade dos tratadores de evento

• Utilizar templates para a geração do código de saída

• Utilizar linguagem Java 5.0 para implementação da ferramenta

• Executar em ambiente Windows XP e Vista

• Executar no navegador Internet Explorer 7

Page 10: FERRAMENTA PARA CONVERSÃO DE INTERFACES JAVA SWING …campeche.inf.furb.br/tccs/2008-II/2008-2-14-ap-marcielefsevero.pdf · DE INTERFACES JAVA SWING EM HTML E JAVASCRIPT Acadêmica:

Primeira e segunda etapa para a geração de código

<font name=jLabel5

style= "position: absolute;font-family: dialog;

font-size: 12;

font-weight: bold;

width: 17;

height: 20;

left: 0;

top: 0;">

</font>

jLabel5 = new JLabel();

jLabel5.setText("");

jLabel5.setPreferredSize(new Dimension(17, 20));

Page 11: FERRAMENTA PARA CONVERSÃO DE INTERFACES JAVA SWING …campeche.inf.furb.br/tccs/2008-II/2008-2-14-ap-marcielefsevero.pdf · DE INTERFACES JAVA SWING EM HTML E JAVASCRIPT Acadêmica:

Template para conversão do JLabel

<font name=jLabel5

style= "position: absolute;font-family: dialog;

font-size: 12;

font-weight: bold;

width: 17;

height: 20;

left: 0;

top: 0;">

</font>

<font name=$!{Component.getName()}

style= "position: absolute;font-family: $!{Component.getFontFamily()};

font-size: $!{Component.getFontSize()};

font-weight: bold;

width: $!{Component.getSizeWidth()};

height: $!{Component.getSizeHeight()};

left: $!{Component.getPositionLeft()};

top: $!{Component.getPositionTop()};">$!{Component.getText()}

</font>

Page 12: FERRAMENTA PARA CONVERSÃO DE INTERFACES JAVA SWING …campeche.inf.furb.br/tccs/2008-II/2008-2-14-ap-marcielefsevero.pdf · DE INTERFACES JAVA SWING EM HTML E JAVASCRIPT Acadêmica:

Escrevendo a função Javascript

String f = verifyFunctions();

if (f.length() > 26) {

context.put("funcJavascript", f);

}

<HTML>

<HEAD>

<TITLE> $!{JFrameGetTitle}

</TITLE>

</HEAD>

<BODY>

$!{funcJavaScript}

</BODY>

</HTML>

Page 13: FERRAMENTA PARA CONVERSÃO DE INTERFACES JAVA SWING …campeche.inf.furb.br/tccs/2008-II/2008-2-14-ap-marcielefsevero.pdf · DE INTERFACES JAVA SWING EM HTML E JAVASCRIPT Acadêmica:

Diagrama de casos de uso

Page 14: FERRAMENTA PARA CONVERSÃO DE INTERFACES JAVA SWING …campeche.inf.furb.br/tccs/2008-II/2008-2-14-ap-marcielefsevero.pdf · DE INTERFACES JAVA SWING EM HTML E JAVASCRIPT Acadêmica:

Diagrama de

classes

Page 15: FERRAMENTA PARA CONVERSÃO DE INTERFACES JAVA SWING …campeche.inf.furb.br/tccs/2008-II/2008-2-14-ap-marcielefsevero.pdf · DE INTERFACES JAVA SWING EM HTML E JAVASCRIPT Acadêmica:

Diagrama de classes

Page 16: FERRAMENTA PARA CONVERSÃO DE INTERFACES JAVA SWING …campeche.inf.furb.br/tccs/2008-II/2008-2-14-ap-marcielefsevero.pdf · DE INTERFACES JAVA SWING EM HTML E JAVASCRIPT Acadêmica:

Diagrama de

sequência

Page 17: FERRAMENTA PARA CONVERSÃO DE INTERFACES JAVA SWING …campeche.inf.furb.br/tccs/2008-II/2008-2-14-ap-marcielefsevero.pdf · DE INTERFACES JAVA SWING EM HTML E JAVASCRIPT Acadêmica:

Diagrama de

sequência

Page 18: FERRAMENTA PARA CONVERSÃO DE INTERFACES JAVA SWING …campeche.inf.furb.br/tccs/2008-II/2008-2-14-ap-marcielefsevero.pdf · DE INTERFACES JAVA SWING EM HTML E JAVASCRIPT Acadêmica:

Diagrama de

sequência

Page 19: FERRAMENTA PARA CONVERSÃO DE INTERFACES JAVA SWING …campeche.inf.furb.br/tccs/2008-II/2008-2-14-ap-marcielefsevero.pdf · DE INTERFACES JAVA SWING EM HTML E JAVASCRIPT Acadêmica:

Utilizando a ferramenta

Page 20: FERRAMENTA PARA CONVERSÃO DE INTERFACES JAVA SWING …campeche.inf.furb.br/tccs/2008-II/2008-2-14-ap-marcielefsevero.pdf · DE INTERFACES JAVA SWING EM HTML E JAVASCRIPT Acadêmica:

Utilizando a ferramenta

Page 21: FERRAMENTA PARA CONVERSÃO DE INTERFACES JAVA SWING …campeche.inf.furb.br/tccs/2008-II/2008-2-14-ap-marcielefsevero.pdf · DE INTERFACES JAVA SWING EM HTML E JAVASCRIPT Acadêmica:

Utilizando a ferramenta

Page 22: FERRAMENTA PARA CONVERSÃO DE INTERFACES JAVA SWING …campeche.inf.furb.br/tccs/2008-II/2008-2-14-ap-marcielefsevero.pdf · DE INTERFACES JAVA SWING EM HTML E JAVASCRIPT Acadêmica:

Utilizando a ferramenta

Page 23: FERRAMENTA PARA CONVERSÃO DE INTERFACES JAVA SWING …campeche.inf.furb.br/tccs/2008-II/2008-2-14-ap-marcielefsevero.pdf · DE INTERFACES JAVA SWING EM HTML E JAVASCRIPT Acadêmica:

Utilizando a ferramenta

Page 24: FERRAMENTA PARA CONVERSÃO DE INTERFACES JAVA SWING …campeche.inf.furb.br/tccs/2008-II/2008-2-14-ap-marcielefsevero.pdf · DE INTERFACES JAVA SWING EM HTML E JAVASCRIPT Acadêmica:

Utilizando a ferramenta

Page 25: FERRAMENTA PARA CONVERSÃO DE INTERFACES JAVA SWING …campeche.inf.furb.br/tccs/2008-II/2008-2-14-ap-marcielefsevero.pdf · DE INTERFACES JAVA SWING EM HTML E JAVASCRIPT Acadêmica:

Resultados e discussão

Page 26: FERRAMENTA PARA CONVERSÃO DE INTERFACES JAVA SWING …campeche.inf.furb.br/tccs/2008-II/2008-2-14-ap-marcielefsevero.pdf · DE INTERFACES JAVA SWING EM HTML E JAVASCRIPT Acadêmica:

Conclusão

• Agilidade no desenvolvimento de aplicações

• Produtividade e qualidade no uso de templates

• A ferramenta atingiu seu maior objetivo –Conversão de componentes de interfaces

• Dificuldades com posicionamento dos componentes

Page 27: FERRAMENTA PARA CONVERSÃO DE INTERFACES JAVA SWING …campeche.inf.furb.br/tccs/2008-II/2008-2-14-ap-marcielefsevero.pdf · DE INTERFACES JAVA SWING EM HTML E JAVASCRIPT Acadêmica:

Extensões

• implementar a conversão de mais componentes já que a ferramenta está limitada à conversão de 14 componentes;

• aumentar a implementação dos tratadores de eventos, a fim de que se possa ampliar a conversão do código dentro dos tratadores;

• criar templates para gerar código para tratamento de eventos (métodos);

• melhorar o posicionamento dos componentes de interface, a fim de chegar mais próximo do layout original.

Page 28: FERRAMENTA PARA CONVERSÃO DE INTERFACES JAVA SWING …campeche.inf.furb.br/tccs/2008-II/2008-2-14-ap-marcielefsevero.pdf · DE INTERFACES JAVA SWING EM HTML E JAVASCRIPT Acadêmica:

Obrigado!

O sucesso geralmente vem para aqueles que estão muito ocupados para estarem procurando por ele.

Henry David Thoreau