Mudanças entre as edições de "Desenhando em Java2D usando o Netbeans"
(New page: = Criando uma aplicação Java2D usando o Netbeans = Com o Netbeans é possível desenhar aplicações gráficas em Java de uma forma rápida e simples. Basta clicar e arrastar componente...) |
(Sem diferença)
|
Edição das 11h05min de 6 de maio de 2010
Criando uma aplicação Java2D usando o Netbeans
Com o Netbeans é possível desenhar aplicações gráficas em Java de uma forma rápida e simples. Basta clicar e arrastar componentes para um formulário. Contudo, o Netbeans não fornece uma interface tão intuitiva para desenhar usando a API do Java2D, mas é possível combinarmos as facilidades trazidas pelo Netbeans para montar janelas com botões, caixas de texto, etc. e usarmos um pouco de código por baixo para criarmos um painel que permita fazer desenhos em Java2D.
As figuras abaixo ilustram os passos necessários para combinar o poder do Netbeans com a API Java2D para desenhar dois simples quadrados e um frase. O formulário terá os seguintes componentes:
- Um JPanel
- Dois JButton
- Um para desenhar os quadrados
- Um para limpar o JPanel
O código fonte com o projeto desenvolvido nesta página pode ser obtido aqui.
Criando um projeto Java
Criando um formulário JFrame
Adicionando um JPanel no formulário
Clique no componente JPanel, presente na Paleta "Contêiners Swing" e arraste para o fomulário. Altere as dimensões deste JPanel de forma que este ocupe toda a largura do formulário. Altere a altura deste JPanel mas reserve um espaço na parte de baixo do formulário para depois incluirmos dois botões.
Criando uma classe Painel, subclasse de JPanel
Iremos mudar o comportamento do nosso JPanel adicionado no passo anterior. Para isso será criada uma classe Painel que é uma subclasse de JPanel. As modificações desta classe, em relação a superclasse, são:
- No construtor a cor de fundo do painel é mudada para branco.
- Sobrescrita do método paint da superclasse
- Será desenhada uma frase no JPanel sempre que este método for invocado
- Adição do método desenharQuadrado
- Irá desenhar um quadrado sem preenchimento e um quadrado preenchido com a cor vermelha
- Note a palavra extends na linha 8 da figura abaixo, indicando uma relação de herança entre Painel e JPanel
Personalizando o código gerado pelo Netbeans
Ao inserirmos um JPanel no formulário Principal, o Netbeans criou um atributo na classe Principal do tipo JPanel e colocou a respectiva linha para a criação de um objeto desta classe.
Neste passo iremos substituir a linha referência a criação deste objeto. Faremos com que no atributo do tipo JPanel seja armazenada uma instância de um objeto da nossa classe Painel. Isto é possível pois objetos de Painel são também JPanel (conceito de herança).
- A instrução "new javax.swing.JPanel()" da figura abaixo será substituída por "new Painel()"
- Clique na caixa de seleção na esquerda, onde está escrito "código padrão" e selecione "criação personalizada"
- Faça a alteração na linha para que fique igual à figura abaixo
Adicionando eventos nos botões
A figura abaixo ilustra como tratar o evento para quando um botão for pressionado
Adicionando código nas ações dos botões
Na figura abaixo é apresentado o código que foi inserido no evento actionPerformed de cada botão
- JBDesenhar
- Ao clicar neste botão o método desenharQuadrado, especificado na classe Painel, será invocado
- JBLimpar
- Ao clicar neste botão o método repaint(), herdado da superclasse JPanel, será invocado
- Por consequência o método paint() da classe Painel será invocado, já que este método foi sobrescrito