Descrição
Muitos desenvolvedores que estão acostumados com o Delphi ou o Visual Basic, sentem uma tremenda dificuldade quando começam a programar em Java, especificamente aplicações Desktop. O italiano Mauro Carniel criou o framework OpenSwing para tornar o desenvolvimento desktop em Java mais fácil e produtivo.
Acesse a página oficial do OpenSwing: Página Oficial do OpenSwing
O livro Dominando o OpenSwing mostra como funciona esse framework.
Além de mostrar o funcionamento do framework em si, o livro traz um estudo de caso, onde é construída uma aplicação para administração de condomínios: o Syndic.
Sumário
Capítulo 1- Apresentação - 1
- Breve Introdução - 2
- O que são as Camadas? - 5
- OpenSwing - Introdução - 7
- Características do Framework - 11
- Arquitetura do Framework - 15
- Camada de Apresentação - 15
- Camada do Lado Servidor (Server-side layer) - 21
- Camada de Acesso aos Dados - 21
- Arquitetura de Aplicações Baseadas no OpenSwing - 23
- Layout das Classes do Framework - 29
- Desenvolvimento na Camada de Apresentação - 33
- Desenvolvimento de janelas e janelas internas (frame/internal frame) - 33
- Ambiente MDI - 33
- Exemplo de uso do ambiente MDI - 42
- Outros Tipos de Janelas (não MDI) - 54
- Controles Gráficos Base - 54
- Container de Controles Gráficos (Form) - 72
- Modos de operação suportados pelo Form - 72
- Botões conectados ao Form - 73
- Modelo de dados do Form - 75
- Form Controller - 76
- Exemplos de utilização do Form - 81
- Tópicos Avançados - 116
- Exemplo de vinculação entre uma Grid e um Form de detalhe - 119
- Botões - 121
- Barra de Tarefas Única (Unique toolbar) - 127
- Lookup - 131
- Controle Gráfico Lookup - 133
- Coluna de Lookup - 134
- Lookup Controller - 134
- Política de recuperação de código inválido - 138
- Recuperação de Dados para um Lookup - 139
- Exemplo de utilização de lookup, incluindo um listener lookup - 140
- Como aplicar as condições de filtro a outros controles de entrada, ao setar o código em um lookup - 143
- Grid - 146
- Colunas da Grid - 148
- Menu Popup - 169
- Nível de permissão das colunas - 172
- Modos de operação suportados pela Grid - 174
- Carga de dados na Grid - 176
- Botões conectados à Grid - 178
- Grid Controller - 181
- Exemplo de Grids editáveis num gerenciamento mestre-detalhe: - 188
- Exemplo de gerenciamento de uma Grid editável - 195
- Exportando dados a partir da Grid - 197
- Drag ‘n drop entre Grids - 201
- Métodos utilitários da Grid - 202
- Bloqueando Registros (travando linhas na Grid) - 206
- Grid com componentes aninhados - 208
- Exemplo de uma Grid principal, com Grids aninhadas: - 211
- Componente PivotTable (tabela dinâmica) - 214
- Componente Tree (árvore) - 220
- Painel Tree com Check-Box - 224
- Componente Tree+Grid - 225
- Grid de Propriedades - 227
- Domínios (domains) e Combo-box - 230
- Definições Gráficas da Aplicação - 231
- Definições de Internacionalização - 232
- Autorização para os Botões (Buttons Authorizations) - 236
- Classes Utilitárias - 239
- org.openswing.swing.util.client.ClientUtils - 239
- org.openswing.swing.util.client.Application EventQueue - 241
- org.openswing.swing.util.java.Consts - 241
- org.openswing.swing.client.AutoCompletition Listener - 241
- Mensagens (Messages) - 243
- Mensagens de Envio (Send Messages) - 243
- Serialização de Objetos - 244
- Mensagens de Resposta (Response Messages) - 245
- Value Object – VO - 247
- Diagrama de Gantt - 249
- Classes Utilitárias Relacionadas com o Controle do Gantt - 250
- Propriedades do GanttControl - 252
- Métodos Utilitários do GanttControl - 253
- Classe de Recuperação de Dados do GanttControl - 254
- Assistente (Wizard) - 257
- Diálogos - 261
- Splash Screen - 263
- Dica do Dia (Tip of the day) - 265
- Barra de Progresso (Progress bar) - 267
- Componente Progress-bar - 268
- Painel que contém um progress-bar - 269
- Diálogo que contém um progress-bar - 270
- Painel de Acordo de Licença (Licence Agreement panel) - 271
- Janela de Alerta (Alert window) - 273
- Janelas Iconifáveis Agrupadas - 277
- Desenvolvimento na Camada de Lógica de Negócios e Acesso aos Dados - 279
- Classes Utilitárias Usadas no Lado Servidor - 279
- Controller do Lado Servidor (Server-side controller) - 280
- Serialização de Objetos - 282
- Seqüência de Inicialização da Servlet - 283
- Coleção de Classes de Ação – Action Classes - 284
- Gerenciamento da Conexão com o Banco de Dados - 285
- Autenticação do Usuário - 287
- Geração de Identificadores de Sessão - 287
- Gerenciamento de Log no Lado Servidor - 288
- Classes Utilitárias para Acesso a Dados - 289
- Framework OpenSwing no Lado Servidor - 289
- Classes para Uso com o Hibernate - 296
- Classes para Uso com o iBatis - 298
- Classes para Uso com o JPA/TopLink - 298
- Classes para Uso com o Apache Cayenne - 300
- Integração com o Framework Spring - 301
- Framework Spring - 301
- Configurando uma Aplicação 3 Camadas com o Spring e o OpenSwing - 302
- Serialização de Objetos - 306
- Autenticação do Usuário - 307
- Desenvolvimento de uma Camada DAO - 308
- Tópicos Avançados - 313
- Ambientes de Desenvolvimento - IDEs - 313
- Design Orientado a Objetos - 314
- Dicas e Truques - 316
- Look ‘n feels - 320
- Implantação da Aplicação - 321
- Ativação de Aplicações web/distribuídas - 323
- Instruções para Instalação - 327
- Configurando uma Distribuição OpenSwing - 327
- Instalação dos Componentes do OpenSwing em uma Paleta do Jbuilder - 329
- Instalação dos Componentes do OpenSwing em uma Paleta do NetBeans - 329
- Instalação dos Componentes do OpenSwing em uma Paleta do JDeveloper 10.1.2 - 330
- Instalação dos Componentes do OpenSwing numa Paleta do Eclipse - 331
- Window Builder - 332
- Jigloo plugin - 333
- Exemplos (Demos) - 335
- Estudo de caso – Syndic (Sistema para administração de condomínios) - 349
- O Sistema - 349
- Regras de negócio e requisitos - 350
- Telas do Syndic - 368
- Ambiente MDI - 368
- Values Objects - 382
- Classes visuais e de controle – Cadastros - 388
- Classes visuais e de controle – Movimento - 429