Me desculpem se o ritmo estiver acelerado demais e alguns comandos ou técnicas passarem despercebidas. Tenho um cronograma da faculdade para seguir, sabem como é... Nesta segunda já devo publicar o conteúdo para uma calculadora com interface gráfica neste blog!
Figura 1 - Projeto de calculadora com interface gráfica.
A ideia original seria já começar com uma calculadora! E ainda por cima sem interface gráfica! Não acho que seria justo com quem estivesse aprendendo do zero Java. Mesmo já tendo alguma experiência com Java (e talvez principalmente por isso, o que me fez dar valor aos detalhes da linguagem e de conhecer bem o básico dela) resolvi começar as lições bem devagar para obter um domínio satisfatório da linguagem antes de começar com algum desafio.
---//---
[Laços de Repetição]
Muito bem, vamos começar com a teoria de laços de repetição. Basicamente, o que estiver dentro do corpo (das chaves) desse comando será repetido até completar determinada condição, no formato:
while (<condição de parada>){
<Comandos até a parada>
}
Vamos criar, por exemplo, um programa que faz uma contagem regressiva:
-------------------------------------------\\-----------------------------------------------
package helloworld;
public class HelloWorld {
public static void main(String[] args) {
int i = 10;
while (i>0){
System.out.println(i);
i--;
}
}
}
-------------------------------------------\\-----------------------------------------------
Código 1 - Contagem regressiva
Figura 2 - Programa para contagem regressiva.
O que ocorre no programa? Criamos uma variável "i" que começa valendo 10. Então, enquanto "i" for maior que 0, imprimiremos seu valor na saída e então decrementamos i em uma unidade:
"i--;" é equivalente a "i-=1;" que é equivalente a "i = i - 1;"
---//---
[Interface Gráfica]
E agora vamos iniciar a parte da interface gráfica de Java. Primeiramente, devemos criar uma janela para a aplicação, para depois implementar seus elementos (textos, botões, abas, etc). Para isso, tomemos o seguinte código como base:
-------------------------------------------\\-----------------------------------------------
package helloworld;
import java.awt.*; //Uso de bibliotecas para criação da Janela e seus utilitários
import java.awt.event.*;
import javax.swing.*;
public class HelloWorld extends JFrame {
private static HelloWorld frame; // Declaração do objeto frame, janela que é exibida.
// Assim que o objeto for criado, essa função será chamada. Ela é chamada "Construtora",
// Uma espécie de inicialização das funções da janela.
public HelloWorld(){
inicializar();
}
public void inicializar(){
setTitle("Usando Botão"); // Define o título da janela.
// Essa função define a posição (x,y) em que a janela aparece e suas dimensões.
setBounds(0,0,250,200);
setLayout(null);
}
// Todo programa começa a partir da função "main". Ou seja, sua execução começa aqui.
public static void main(String[] args) {
frame = new HelloWorld(); // Cria o objeto frame declarado no início.
// Ao criar o objeto, chama a função construtora HelloWorld()
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); // Define a operação de saída.
frame.setVisible(true); // Define a visibilidade da janela como verdadeiro.
}
}
-------------------------------------------\\-----------------------------------------------
Código 2 - Criação de Janela.
Figura 3 - Programa que cria uma Janela.
Observe que as indicações na cor cinza após a dupla barra "//" representam comentários explicativos no código, facilitando o entendimento do leitor do que está acontecendo. Esses comentários não alteram o funcionamento do código.
Vamos agora adicionar algumas funcionalidades à nossa janela:
private JLabel texto; //Adiciona um texto à janela;
private JButton botao; //Adiciona um botão;
private JTextField digite //Adiciona espaço para digitar;
Para criar a instância (algum desses objetos) são necessários alguns procedimentos:
1) Declarar a variável no topo do programa
2) Criar um novo objeto com o comando new [Classe]
3) Dimensionar e posicionar o objeto na janela com comando .setBounds(x, y, largura, altura);
4) Adicionar o objeto na janela com comando add();
5) Adicionar a funcionalidade dele, passo mais detalhado à frente.
Vamos adicionar alguns destes elementos à tela:
-------------------------------------------\\-----------------------------------------------
package helloworld;
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
public class HelloWorld extends JFrame {
private static HelloWorld frame;
private JLabel texto; // Passo #1
private JTextField digite;
private JButton botao;
public HelloWorld(){
inicializar();
eventos();
}
private void inicializar(){
setTitle("Usando Botão");
setBounds(0,0,250,200);
setLayout(null);
texto = new JLabel("Hello World"); // Passo #2
botao = new JButton("Clique");
digite = new JTextField(5);
texto.setBounds(50,50,100,200); // Passo #3
botao.setBounds(25,25,200,50);
digite.setBounds(50,100,150,20);
add(texto); // Passo #4
add(botao);
add(digite);
}
private void eventos(){
// Passo #5
}
public static void main(String[] args) {
frame = new HelloWorld();
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.setVisible(true);
}
}
-------------------------------------------\\-----------------------------------------------
Código 3 - Adicionando novos elementos à janela.
O resultado obtido deve ter a seguinte forma:
Figura 4 - Janela com interface gráfica e sem funcionalidades.
Entretanto, ainda não é possível interagir com a interface gráfica porque ainda não implementamos a parte #5 dos objetos do nosso frame (da nossa janela). Deixaremos esse assunto para a próxima lição, em que será estudado um pouco sobre métodos e as funcionalidades da interface gráfica.
Recomendo que você explore as funcionalidades dos Laços de Repetição e também procure alguns tipos de objetos de interface gráfica existentes. Dessa forma, entenderá o quão simples e poderosa a linguagem Java pode ser neste quesito. Uma nova ferramenta para o projeto de softwares.
Bom, por hoje é isso, espero que tenham apreciado os posts.
Nenhum comentário:
Postar um comentário