8 de set de 2018

Java Desktop, Cadastro CRUD - 5: JFrame

Nesta parte elaboramos a janela do sistema, com a classe JFrame.

Continue o projeto criando uma nova classe, FormCliente no pacote view. Lembrando que é necessário configurar a IDE com o windowbuilder, como visto na Parte 1 desta série. Há duas formas de criar a classe: 

1-Criando a Classe JFrame Swing Designer


A primeira forma é criando direto a classe estendendo JFrame. Faça o caminho Menu File - New - Other (como exemplo na Parte 2) e digite JFrame no campo onde está escrito type filter text selecionado em azul (caso não apareça na lista):


java-desktop-cadastro-crud-parte-5
1-Nova Classe - Eclipse - type filter text

java-desktop-cadastro-crud-parte-5
2-Nova Classe - Eclipse - Swing Designer JFrame
Após clicar em Next e digitar o nome para a classe, o código deverá ficar assim:
1 package br.com.cliente.view;
2 import java.awt.BorderLayout;
3 import java.awt.EventQueue;
4 import javax.swing.JFrame;
5 import javax.swing.JPanel;
6 import javax.swing.border.EmptyBorder;
7 
8 public class FormCliente extends JFrame {
9  private JPanel contentPane;
10 /**  * Launch the application.
11
12   */
13 public static void main(String[] args) {  EventQueue.invokeLater(new Runnable() {   public void run() {
14    try {
15     FormClientes frame = new FormClientes();
16     frame.setVisible(true);
17    } catch (Exception e) {
18     e.printStackTrace();
19    }
20   }
21  });
22 }
23 /**
24  * Create the frame.
25  */
26 public FormClientes() {
27  setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
28  setBounds(100, 100, 450, 300);
29  contentPane = new JPanel();
30  contentPane.setBorder(new EmptyBorder(5, 5, 5, 5));
31  contentPane.setLayout(new BorderLayout(0, 0));
32  setContentPane(contentPane);
33
34 }
35 }
36
Note que desta forma o Eclipse automaticamente cria o método main. Porém, o método main já está na classe Principal, criada na Parte 2. Para manter o padrão, exclua as linhas do método, deixando código como a seguir:
1 package br.com.cliente.view;
2 import java.awt.BorderLayout;
3 import java.awt.EventQueue;
4 import javax.swing.JFrame;
5 import javax.swing.JPanel;
6 import javax.swing.border.EmptyBorder;
7 
8 public class FormCliente extends JFrame {
9  private JPanel contentPane;
10  public FormClientes() {
11  setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
12  setBounds(100, 100, 450, 300);
13  contentPane = new JPanel();
14  contentPane.setBorder(new EmptyBorder(5, 5, 5, 5));
15  contentPane.setLayout(new BorderLayout(0, 0));
16  setContentPane(contentPane);
17 }
18 }
No canto inferior esquerdo, clique em Design para alternar para a ferramenta de desenho de janelas. Com um duplo clique na aba da classe FormCliente (como indicado pela seta na imagem abaixo) você maximiza a janela, melhorando a visualização.

java-desktop-cadastro-crud-parte-5
3-Interface de Design JFrame - Eclipse

2-Criando a Classe Normal + Extends JFrame


A segunda forma é criar uma classe normal e depois estender o JFrame (lembrando de usar o recurso do Eclipse - CTRL+Espaço), correspondendo ao código seguinte:
1 package br.com.cliente.view;
2 import javax.swing.JFrame;
3
4 public class FormCliente extends JFrame {
5
6 }
Para ter acesso ao editor de janelas windowbuilder, clique com o botão direito do mouse na classe FormCliente na coluna Package Explorer, opção Open With e WindowBuilder Editor:


java-desktop-cadastro-crud-parte-5
4-Eclipse - Abrindo WindowBuilder
A aba Design aparecerá no canto inferior esquerdo, para alternar entre o código fonte (source) e o editor:


java-desktop-cadastro-crud-parte-5
5-Eclipse - Aba Design
Recordando a imagem do formulário, na Parte 1 desta série, deixo duas opções para compor a janela: usando o editor, onde você pode dispor os campos e botões em outra ordem, se desejar; ou simplesmente copiar e colar o código a seguir que corresponde ao formulário completo, incluindo os campos formatados para CEP, Telefone, CNPJ etc. Além do código, é preciso adicionar uma pasta de imagens, onde estão os arquivos de imagem dos ícones dos botões - salvar, editar, pesquisar, limpar e excluir. Baixe a pasta neste link e coloque-a na pasta do projeto (por padrão, workspace, dentro da pasta de usuário do Windows - C:\User\NomeDoUsuario\workspace):




Com isso, a janela estará concluída, embora não estará funcionando ainda. 

Para não sobrecarregar com muito código e estender muito esta postagem, deixo para a próxima parte a implementação dos métodos para os botões e os campos funcionarem, fazendo finalmente o CRUD no banco de dados.


Deixe seu comentário - dúvidas, sugestões, críticas... e compartilhe...