Primeiramente, vamos criar um novo aplicativo Java. Estou utilizando a IDE do Netbeans.
Neste exemplo, vou renomear o nome do projeto para ‘calc’.
Vamos clicar sobre o pacote ‘calc’ com o botão direito e adicionar um novo Formulário JFrame.
Renomeie o nome do JFrame para fCalc para identidicar o forumário da calculadora.
A partir daí, só nos resta desenhar a calculadora, utilizando JButton e JTextField como o visor da mesma.
O Formulário fica da seguinte maneira:
Agora basta alterar o nome da variável do visor para começarmos a programar.
Clique com o botão direito em cima do JTextField e clique em ‘Alterar nome da variável’.
Renomeie para ‘visor’ para que possamos identificar e facilitar o código.
Agora, vamos mandar o Java escrever no visor cada número de acordo com cada botão que o usuário clicar.
Vamos criar uma rotina para isso, com o seguinte código:
private void preecher_visor(String valor){
String valor_atual = visor.getText(); // pega o texto atual do visor
visor.setText(valor_atual + valor); // adiciona o texto ao valor atual
}
A partir de agora, basta adicionarmos a rotina a cada botão do formulário.
Clique com o botão direito sobre o botão 0 (zero) e selecione Evento>Actions>actionPerformed.
private void jButton10ActionPerformed(java.awt.event.ActionEvent evt) {
preecher_visor("0"); // preenche com o valor 0
}
}
Adicione o mesmo código para todos os botões numéricos, apenas mudando o número do preenchimento.
Para continuar, precisamos criar duas variaveis globais que serão usadas pelo projeto todo, uma String para receber o primeiro valor e um Char para receber o operador atual.
Então, declare:
char operador;
String valor1;
Agora podemos criar o procedimento para cada operador.
Adicione para cada operador ao evento actionPerformed o seguinte código, mudando apenas o operador para seu respectivo texto.
operador = '+'; // recebe o operador
valor1 = visor.getText(); // recebe o valor atual do visor
visor.setText(""); // apaga o visor
No caso acima, o código pertence ao botão de soma.
Agora a função responsável por calcular a variavel valor1 com o valor atual pela variavel operador.
Essa função retorna um valor inteiro. repare: private int
private int calcular(int num1, char op, int num2){ // declaramos as variveis necessarias para o calculo int res = 0; // resultado if(op == '+'){ // se operador = + entao... res = num1 + num2; // resultado = numero1 + n2 } else if(op == '-'){ // senao, se... res = num1 - num2; } else if(op == '*'){ res = num1 * num2; } else if(op == '/'){ res = num1 / num2; } return res; // retorna resultado }
Agora, só nos resta o código do botão igual (=) para calcular o valor atual com o valor armazenado na variavel valor1.
Para isso vamos chamar a função que criamos anteriormente que nos retorna um valor inteiro, chamada calcular.
private void jButton14ActionPerformed(java.awt.event.ActionEvent evt) { String valor2 = visor.getText(); // valor2 recebe o valor atual int v = Integer.parseInt(valor1); // converte o valor1 em inteiro int v2 = Integer.parseInt(valor2); // converte valor2 em inteiro visor.setText(""+calcular(v, operador, v2)); // define o visor pelos parametros da função calcular // v = valor1 | v2 = valor2 (atual) | operador = variavel declarada anteriormente }
Ao executarmos a aplicação, o formulário não é exibido, por que?
Porque ele começa sendo executado a partir do arquivo calc.java e não do formulário JFrame (fCalc).
Então, abra o arquivo java.calc e adicione a linha abaixo.
package calc; import javax.swing.JFrame; public class Calc { public static void main(String[] args) { // cria uma nova instancia do formulário e deixa-o visivel. new fCalc().setVisible(true);
} }
E é isso aí! Abraço e até a próxima.
http://www.youtube.com/watch?v=lwP_w9yS6Jo
ResponderExcluirVídeo aula para complementa o Blog espero ter ajudado.
Preciso de locais para postar as vídeo aulas.
E se eu quiser somar mais de 3 números ? e fazer operações diferentes ?
ResponderExcluir