Enviar um café pro programador

Pode me ajudar a transformar cafeína em código?

JFrame e JPanel - Introdução ao estudo de GUI

Antes de iniciarmos nossos estudos sobre aplicações gráficas em Java, precisamos entender dois importantíssimos e básicos conceitos sobre GUI (Graphic User Interface): JFrame e JPanel.

Não iremos focar na criação códigos ou algo gráfico, mas é essencial ler e entender o que é explicado aqui para prosseguir nessa seção de GUI de nossa apostila de Java.

Iremos dar uma base aqui sobre o assunto, e em seguida iremos, no próximo tutorial falaremos sobre o uso de JFrame e JPanel para fazer desenhos.

O que é JFrame

Frame, em inglês, pode significar várias coisas. 
Mas a melhor definição para frame em nosso contexto é: moldura.
Vamos imaginar uma moldura, onde você vai colocar uma foto.

Esse frame é basicamente a base de tudo, para criar aplicações gráficas em Java.
Sabe aquela janela de um programa? É um frame.
Sabe as caixa de diálogo que usamos? É um frame.
As janelas onde ocorrer as aplicações gráficas que são o frame.

E o que faz o frame?
Ele vai armazenar, exibir coisas. Coisas que podem ser imagens, textos, botões, opções para marcar, caixa de texto para escrever e tudo mais o que é possível fazer em aplicativos GUI.

Veja bem, ele exibe, é responsável por controlar e dizer como essas coisas irão aparecer nele. Essas coisas não fazem parte dele.

Por exemplo, uma foto de seu cachorro é desenhada e impressa na sua moldura de madeira? Não, ela é colocada, encaixada lá.
Você pode tirar a foto e colocar outra, a moldura é só um suporte pra ajudar na exibição. Ela em si não tem a informação e detalhes das imagens.

Da mesma maneira é com o JFrame, ele vai servir para exibir e trabalhar com esses elementos (botões, textos, imagens etc).



O que é possível fazer com JFrame

Para saber para que serve e o que é possível fazer com o JFrame, basta nos lembrarmos o que é possível fazer com as janelas, ou moldes, das aplicações que conhecemos no dia-a-dia.

Podemos minimizar, maximizar ou fechar.
Quando clicamos em fechar, as vezes ela encerra a aplicação, mas as vezes ela continua rodando no sistema, mas sem ficar visível.

Um JFrame, inclusive, pode chamar outro. E isso é bem normal.
Afinal, são poucos os casos de aplicações 'isoladas'.
Sempre abre uma janela, clicamos em um botão ou menu, irá se abrir outra janela, com outras informações.

Já deve ter notado aplicativos que abrem minimizados, outros no centro da tela, outros em um canto.
Isso também é definido no JFrame.

As janelas também possuem uma cor de fundo, menus, barras de rolagem.
Também há aquele ícone, no canto superior esquerdo, de cada GUI.
Há também programas que é possível mudar o tamanho da janela, outros não.
Tem uns mais chatos que nem nos permitem minimizar.

Notou a importância do JFrame?
Mas falamos que ele serve como moldura, e as fotos?
E o conteúdo dentro desse molde, como colocamos?
Onde criamos?

O que é JPanel


Falamos dos frames, e associamos com molduras.
Então, não é muito difícil adivinhar que o panel é como se fosse a foto, o conteúdo das molduras.
A tradução de panel é bem óbvia: painel.

E é exatamente isso que é (como sempre) um JPanel, um painel.
Este painel vai ser encaixado no molde, no JFrame, e é ele que vai contar os componentes gráficos de nossos programas.

Esses componentes, em Java, são os JComponents, e são muitos!
Podem ser botões, caixas de seleção para você marcar, um bloco de texto para ler (iguais aqueles de "Aceito os termos e condições"), campos de texto para você escrever (para inserir login e senha, por exemplo), imagens e simplesmente tudo que é possível fazer em programação gráfica.

E assim como podemos colocar uma foto em uma moldura, tirar e colocar outra, também podemos colocar um JPanel em um frame, fazer a interação com o usuário, depois colocar outro JPanel lá, ou mandar esse JPanel para outro JFrame, e por ai vai, dependendo do objetivo de sua aplicação.


Agora que você tem uma noção do que é, para que serve a  importância do JPanel e do JFrame, vamos, no próximo tutorial de nosso curso de Java, botar a mão na massa: colocar os códigos e ver as coisas funcionando de verdade.

5 comentários:

Unknown disse...

Didático, direto e objetivo!

Anônimo disse...

Incrível. Os tópicos conseguem ser curtos e extremamente simples e esclarecedores.
A equipe está de parabéns !!!

Nicollas Miyashiro disse...

http://www.javaprogressivo.net/2012/09/como-passar-variaveis-do-tipo-string.html

Acho que a frase que esta nesse link ai de cima, ao invés de estar "calma, calma.." está "palma, palma, palma...". Não consegui fazer um comentário lá, e acabei por comentar aqui.

Antonio Filho disse...

O Java Progressivo é excelente! Muito claro e didático. Excelente para quem, assim como eu, está começando a se envolver profundamente com o Java...

PS: alguém aí nos comentários nunca assistiu ao Chaves! kkkk

Fabricio disse...

Na hora que li já lembrei do saudoso El Chavo del ocho

Contribuir com o Java Progressivo

Que tal apoiar e fazer crescer o ensino da programação no Brasil ?

Ajudar nosso país a crescer e se desenvolver cada vez mais, tecnologicamente?

Clica abaixo pra saber mais!

Apoiar o Projeto Progressivo


Tutoriais de Java