• Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Be the first to comment
No Downloads

Views

Total Views
1,159
On Slideshare
0
From Embeds
0
Number of Embeds
1

Actions

Shares
Downloads
0
Comments
0
Likes
1

Embeds 0

No embeds

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
    No notes for slide

Transcript

  • 1. JGoodies Java para o Cliente por Paulo César M. Jeveaux [email_address]
  • 2. Sobre o Palestrante
    • Javanês desde 2000;
    • Consultor Java/J2EE pela Consist Software Brasil;
    • Mantenedor responsável do Portal Java;
    • Fundador do ESJug;
  • 3. Agenda
    • O que é JGoodies?
    • Instalando
    • Cases
    • Looks
    • Forms
    • O Gerenciador de Layout em Detalhes
    • Produtividade
    • Demonstrações
  • 4. Maiores Informações
    • Site Oficial
      • www.jgoodies.com
      • https:// jgoodies.dev.java.net
    • Fóruns
      • www.portaljava.com/forum
      • www.guj.com.br/forum
  • 5. O que é JGoodies?
  • 6. O que é JGoodies?
    • Projeto Open Source
      • Mantido por Karsten Lentzsch;
      • Licensa BSD;
    • Conjunto de Frameworks para facilitar o desenvolvimento de aplicações elegantes e bonitas para Desktop.
  • 7. O que é JGoodies?
    • Dividido em 5 subprojetos o JGoodies se organiza em:
      • Animation – Animações em Tempo Real;
      • Binding - Data Binding framework;
      • Forms - Forms layout system;
      • Looks – Família de Look & Feel;
      • Validation – Framework de Validações;
  • 8. O que é JGoodies?
    • Animation Framework
      • Permite produzir animações em Tempo Real de forma simples e robusta e altamente integrado com Java;
      • Baseado na especificação SMIL (Synchronized Multimedia Integration Language) descrita pelo W3C;
      • Usa Java para escrever as animações e não XML;
  • 9. O que é JGoodies?
    • Data Binding Framework
      • Conecta os Componentes de Interface com o estado da aplicação;
      • Reduz a codificação na Apresentação e melhora a notificação de atualizações;
      • Provê melhor separação entre as camadas da aplicação;
  • 10. O que é JGoodies?
    • Forms Layout System
      • Novo conceito de Gerenciador de Layout;
      • Permite construir layouts complexos e elegantes de forma simples e rápida;
      • Também contém Builders e Factories para auxiliar na construção das interfaces;
  • 11. O que é JGoodies?
    • Looks – Look & Feel
      • Dê cara nova as suas aplicações e applets Swing;
      • Conjunto de Look & Feel do Windows;
      • Novo conjunto de Look & Feel Plastic, simples, leves e bonitos;
  • 12. O que é JGoodies?
    • Validation Framework
      • Validações de Formulários e Campos;
      • Mesma idéia do commons validator;
      • É um projeto novo, ainda não se encontra em fase de perfeito funcionamento;
  • 13. Um pouco mais   585 KB  16/03/05 R1.0    JGoodies Validation    1753 KB    25/03/05 R1.3.1    JGoodies Looks    1103 KB    10/10/04 R1.0.5    JGoodies Forms    981 KB    08/02/05 R1.0    JGoodies Binding    459 KB    28/05/04 R1.1.3    JGoodies Animation    Tam.    Data   Versão   Nome
  • 14. Instalando
  • 15. Instalando
    • JGoodies é um framework, ou melhor, uma coleção de frameworks;
      • Como instalo Frameworks?
        • Download;
        • Disponibiliza-lo no CLASSPATH do SO ou da Aplicação;
        • Usar;
  • 16. Comparações
  • 17. Cases
  • 18. Cases
  • 19. Cases
  • 20. Cases
  • 21. Cases
  • 22. Cases
  • 23. Looks
  • 24. Looks
    • Fácil de usar;
    • Não requer nenhuma alteração na aplicação existente;
    • É pequeno, apenas um JAR;
    • É bonito;
  • 25. Looks
    • 01  package  br.com.portaljava.jm.jgoodies; 02  03  import  java.awt.BorderLayout; 04  import  javax.swing.*; 05  06 /** 07  * @author Paulo César M. Jeveaux 08  */ 09  public class  HelloWorld  extends  JFrame { 10  11      public  HelloWorld() { 12          super ("Hello World"); 13          this .setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); 14  15          this .getContentPane() 16                 .add( new  JLabel("Hello World"), BorderLayout.NORTH); 17          this .getContentPane().add( new  JButton("Botão com o Looks do JGoodies"), 18                 BorderLayout.CENTER); 19          this .getContentPane().add( 20                  new  JRadioButton("RadioButton com o Looks do JGoodies"), 21                 BorderLayout.SOUTH); 22  23          this .pack(); 24     }
    • 25  26      public static void  plasticLookAndFeel() { 27          try  { 28             UIManager 29                     .setLookAndFeel("com.jgoodies.plaf.plastic.PlasticXPLookAndFeel"); 30         }  catch  (ClassNotFoundException e) { 31             System.err.println(e); 32         }  catch  (InstantiationException e) { 33             System.err.println(e); 34         }  catch  (IllegalAccessException e) { 35             System.err.println(e); 36         }  catch  (UnsupportedLookAndFeelException e) { 37             System.err.println(e); 38         } 39     } 40  41      public static void  main(String[] args) { 42         plasticLookAndFeel(); 43          new  HelloWorld().show(); 44     } 45  46 }
  • 26. Looks
    • Como usar:
      • 26      public static void  plasticLookAndFeel() { 27          try  { 28             UIManager 29                     .setLookAndFeel("com.jgoodies.plaf.plastic.PlasticXPLookAndFeel"); 30         }  catch  (ClassNotFoundException e) { 31             System.err.println(e); 32         }  catch  (InstantiationException e) { 33             System.err.println(e); 34         }  catch  (IllegalAccessException e) { 35             System.err.println(e); 36         }  catch  (UnsupportedLookAndFeelException e) { 37             System.err.println(e); 38         } 39     }
  • 27. Looks Plastic3D PlasticXP
  • 28. Looks JGoodies Win Plastic
  • 29. Forms
  • 30. Forms
    • Forms é pacote que contém o Gerenciador de Layouts do JGoodies e alguns auxiliares para o desenvolvimento de componentes;
    • Provê uma nova, porém velha forma de gerenciar a disposição dos objetos da interface;
  • 31. Forms
  • 32. Forms rowspan colspan
  • 33. Forms
    • FormLayout layout = new FormLayout("right:pref:grow", "");
    • DefaultFormBuilder builder = new DefaultFormBuilder(layout);
    • builder.setDefaultDialogBorder();
    • builder.appendSeparator("- - -");
    • builder.append(new JLabel("Hello World"));
    • builder.appendSeparator("- - -");
    • builder.append(new JLabel("Estou usando o Forms do JGoodies com o Looks"));
    • builder.nextLine();
  • 34. Forms
    • JPanel closePanel =
    • new JPanel(new FormLayout("center:pref:grow", "p"));
    • closePanel.setBorder(BorderFactory.createEmptyBorder(5, 1, 5, 1));
    • closePanel.add(closeButton, new CellConstraints(1, 1,
    • CellConstraints.FILL,CellConstraints.FILL));
  • 35. Um pouco mais de Forms
  • 36. Forms
    • Ainda não facilitou;
    • Só complicou;
    • Tadã!
  • 37. Forms
  • 38. Forms
    • Muito simples;
    • Precisamos mudar apenas um atributo do nosso FormLayout
      • FormLayout layout = new FormLayout("center:pref:grow", "");
      • FormLayout layout = new FormLayout("right:pref:grow", "");
      • FormLayout layout = new FormLayout("left:pref:grow", "");
  • 39. Produtividade em alta
  • 40. Produtividade
    • JFormDesigner
      • www.jformdesigner.com
      • Não é free;
      • Permite trabalhar com qualquer Gerenciador de Layout;
      • Permite trabalhar com ou sem o Looks do JGoodies;
  • 41. Produtividade
    • Forms Designer
      • www.jetaware.com/forms_product . jsp
      • Da Jeta Software;
      • Não permite trabalhar fora do Forms do JGoodies;
  • 42. Produtividade
    • Abeille Forms
      • https:// abeille.dev.java.net
      • Projeto Open Source;
      • Trabalha com todos os L&F do Looks;
      • Trabalha apenas com o Gerenciador de Layout do JGoodies;
  • 43. Demonstração Como construir uma Janela simples em menos de um minuto usando os Editores para JGoodies
  • 44. Resultado
  • 45. Demonstração Como construir um Formulário complexo em menos de cinco minutos usando os Editores para JGoodies
  • 46. Resultado
  • 47. Demonstração Brincando com o LayoutManager do JGoodies.
  • 48. JGoodies Java para o Cliente por Paulo César M. Jeveaux [email_address]