Calculadora
Código que demonstra interface gráfica e a interação com o usuário através de botões e JTextFields
//importando os pacotes
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
//criando a classe
class Calculadora extends JFrame implements ActionListener, TextListener
{
//criar as minhas instâncias
JLabel L1,L2,L3;
JButton B1, B2, B3, B4, B5;
JTextField T1, T2, T3;
//criando método principal
public static void main(String args[])
{
//criando uma instância de JFrame e instânciando o método construtor
JFrame janela = new Calculadora();
//exibindo a janela
//Pesquisar métodos novos para visualizar
janela.show();
//Funcionalidades para fechar a janela
//ouvindo a janela adaptando o metodo
WindowListener J = new WindowAdapter()
{
//fechar a janela //identificar o evento
public void windowClosing(WindowEvent e )
{
System.exit(0);
}
};
//instância e método para adicionar a funcionalidade na janela
janela.addWindowListener(J);
}
Calculadora()
{
//exibindo mensagem na barra de título
setTitle("Calculadora");
//dimensionando o tamanho da janela
setSize(350,90); // largura e altura
//definindo coordenadas no frame
setLocation(150,150); //x e y
//método para travar a janela
setResizable(false);
//cor de fundo
getContentPane().setBackground(new Color(150,150,150));
//trabalhando com o gerenciador setLayout e a classe GridLayout
getContentPane().setLayout(new GridLayout(3,4));
//Configurando as Labels
//instanciando a JLabel 1
L1 = new JLabel("Numero1");
//definindo a cor da fonte
L1.setForeground(Color.black);
//definindo a fonte como negrito, tamanho 14
L1.setFont(new Font("", Font.BOLD,14));
//instanciando a JLabel 2
L2 = new JLabel("Numero2");
//definindo a cor da fonte
L2.setForeground(Color.black);
//definindo a fonte como negrito, tamanho 14
L2.setFont(new Font("", Font.BOLD,14));
//instanciando a JLabel 3
L3 = new JLabel("Total");
//definindo a cor da fonte
L3.setForeground(Color.black);
//definindo a fonte como negrito, tamanho 14
L3.setFont(new Font("", Font.BOLD,14));
//instanciando os botões e incluindo as funcionalidades de cada botão
B1 = new JButton("+"); B1.addActionListener(this);
B2 = new JButton("-"); B2.addActionListener(this);
B3 = new JButton("*"); B3.addActionListener(this);
B4 = new JButton("/"); B4.addActionListener(this);
B5 = new JButton("Limpar"); B5.addActionListener(this);
//definindo a cor da fonte
B5.setBackground(Color.black); //cor de fundo preto
B5.setForeground(Color.white); //cor da fonte branco
//instanciando JTextField
T1 = new JTextField();
T2 = new JTextField();
T3 = new JTextField();
//desabilitando a opção de escrita
T3.setEditable(false);
//adicionando componentes na getContentPane()
getContentPane().add(L1);
getContentPane().add(T1);
getContentPane().add(B1);
getContentPane().add(B2);
getContentPane().add(L2);
getContentPane().add(T2);
getContentPane().add(B3);
getContentPane().add(B4);
getContentPane().add(L3);
getContentPane().add(T3);
getContentPane().add(B5);
}
//validando e verificando qual componente dispara o evento
public void actionPerformed(ActionEvent e )
{
//verificando se o botão de limpar foi pressionado
if (e.getSource()==B5)
{
T1.setText("");
T2.setText("");
T3.setText("");
return;
}
//criar as variaveis
float n1=0;
float n2=0;
float result=0;
//tentar pegar os valores que o usuário digitou
try
{
n1 = Float.parseFloat(T1.getText());
n2 = Float.parseFloat(T2.getText());
}
catch (NumberFormatException erro)
{
T3.setText("Erro");
return;
}
if (e.getSource()==B1)
{ result = n1+n2; }
if (e.getSource()==B2)
{ result = n1-n2; }
if (e.getSource()==B3)
{ result = n1*n2; }
if (e.getSource()==B4)
{ result = n1/n2; }
//valor numérico será transformado em texto, somando com o vazio
T3.setText("" + result);
}
public void textValueChanged(TextEvent e)
{
T3.setText("Ola");
}
}