Calculadora
Publicado por Rodrigo Zanuzzo (última atualização em 25/11/2009)
[ Hits: 7.604 ]
Homepage: @rodrigozanuzzo
Este é o projeto de uma calculadora feita em Java no IDE Netbeans.
Gostaria que dessem uma olhada e identificassem possíveis erros ou dessem alguma dica para melhorar o meu projeto.
Desde já agradeço a todos.
public class calculadora extends javax.swing.JFrame {
String tela,op;
double res,por,raiz,m,v1,v2;
public calculadora() {
initComponents();
}
@SuppressWarnings("unchecked")
// <editor-fold defaultstate="collapsed" desc="Generated Code">
private void initComponents() {
jPanel1 = new javax.swing.JPanel();
tfExibe = new javax.swing.JTextField();
b9 = new javax.swing.JButton();
bOff = new javax.swing.JButton();
bCe = new javax.swing.JButton();
bSqrt = new javax.swing.JButton();
bDiv = new javax.swing.JButton();
bMult = new javax.swing.JButton();
bSub = new javax.swing.JButton();
bAdi = new javax.swing.JButton();
bIgual = new javax.swing.JButton();
b0 = new javax.swing.JButton();
bPor = new javax.swing.JButton();
bOn = new javax.swing.JButton();
bMr = new javax.swing.JButton();
bMais = new javax.swing.JButton();
bMenos = new javax.swing.JButton();
b1 = new javax.swing.JButton();
b2 = new javax.swing.JButton();
b3 = new javax.swing.JButton();
b6 = new javax.swing.JButton();
b5 = new javax.swing.JButton();
b4 = new javax.swing.JButton();
b7 = new javax.swing.JButton();
b8 = new javax.swing.JButton();
setDefaultCloseOperation(javax.swing.WindowConstants.EXIT_ON_CLOSE);
setTitle("Calculadora");
setResizable(false);
jPanel1.setLayout(null);
jPanel1.add(tfExibe);
tfExibe.setBounds(10, 10, 320, 23);
b9.setText("9");
b9.setEnabled(false);
b9.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
b9ActionPerformed(evt);
}
});
jPanel1.add(b9);
b9.setBounds(220, 80, 50, 27);
bOff.setMnemonic('f');
bOff.setText("OFF");
bOff.setEnabled(false);
bOff.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
bOffActionPerformed(evt);
}
});
jPanel1.add(bOff);
bOff.setBounds(90, 50, 70, 27);
bCe.setMnemonic('c');
bCe.setText("CE");
bCe.setEnabled(false);
bCe.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
bCeActionPerformed(evt);
}
});
jPanel1.add(bCe);
bCe.setBounds(160, 50, 60, 27);
bSqrt.setMnemonic('s');
bSqrt.setText("SQRT");
bSqrt.setEnabled(false);
bSqrt.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
bSqrtActionPerformed(evt);
}
});
jPanel1.add(bSqrt);
bSqrt.setBounds(20, 200, 120, 30);
bDiv.setText("/");
bDiv.setEnabled(false);
bDiv.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
bDivActionPerformed(evt);
}
});
jPanel1.add(bDiv);
bDiv.setBounds(220, 50, 50, 27);
bMult.setText("X");
bMult.setEnabled(false);
bMult.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
bMultActionPerformed(evt);
}
});
jPanel1.add(bMult);
bMult.setBounds(280, 50, 50, 27);
bSub.setText("-");
bSub.setEnabled(false);
bSub.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
bSubActionPerformed(evt);
}
});
jPanel1.add(bSub);
bSub.setBounds(280, 80, 50, 27);
bAdi.setText("+");
bAdi.setEnabled(false);
bAdi.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
bAdiActionPerformed(evt);
}
});
jPanel1.add(bAdi);
bAdi.setBounds(280, 110, 50, 80);
bIgual.setText("=");
bIgual.setEnabled(false);
bIgual.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
bIgualActionPerformed(evt);
}
});
jPanel1.add(bIgual);
bIgual.setBounds(280, 200, 50, 30);
b0.setText("0");
b0.setEnabled(false);
b0.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
b0ActionPerformed(evt);
}
});
jPanel1.add(b0);
b0.setBounds(210, 200, 50, 30);
bPor.setText("%");
bPor.setEnabled(false);
bPor.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
bPorActionPerformed(evt);
}
});
jPanel1.add(bPor);
bPor.setBounds(150, 200, 50, 30);
bOn.setMnemonic('o');
bOn.setText("ON");
bOn.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
bOnActionPerformed(evt);
}
});
jPanel1.add(bOn);
bOn.setBounds(20, 50, 70, 27);
bMr.setMnemonic('m');
bMr.setText("MR");
bMr.setEnabled(false);
bMr.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
bMrActionPerformed(evt);
}
});
jPanel1.add(bMr);
bMr.setBounds(20, 80, 70, 27);
bMais.setText("M+");
bMais.setEnabled(false);
bMais.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
bMaisActionPerformed(evt);
}
});
jPanel1.add(bMais);
bMais.setBounds(20, 120, 70, 27);
bMenos.setText("M-");
bMenos.setEnabled(false);
bMenos.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
bMenosActionPerformed(evt);
}
});
jPanel1.add(bMenos);
bMenos.setBounds(20, 160, 70, 27);
b1.setText("1");
b1.setEnabled(false);
b1.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
b1ActionPerformed(evt);
}
});
jPanel1.add(b1);
b1.setBounds(100, 160, 50, 27);
b2.setText("2");
b2.setEnabled(false);
b2.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
b2ActionPerformed(evt);
}
});
jPanel1.add(b2);
b2.setBounds(160, 160, 50, 27);
b3.setText("3");
b3.setEnabled(false);
b3.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
b3ActionPerformed(evt);
}
});
jPanel1.add(b3);
b3.setBounds(220, 160, 50, 27);
b6.setText("6");
b6.setEnabled(false);
b6.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
b6ActionPerformed(evt);
}
});
jPanel1.add(b6);
b6.setBounds(220, 120, 50, 27);
b5.setText("5");
b5.setEnabled(false);
b5.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
b5ActionPerformed(evt);
}
});
jPanel1.add(b5);
b5.setBounds(160, 120, 50, 27);
b4.setText("4");
b4.setEnabled(false);
b4.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
b4ActionPerformed(evt);
}
});
jPanel1.add(b4);
b4.setBounds(100, 120, 50, 27);
b7.setText("7");
b7.setEnabled(false);
b7.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
b7ActionPerformed(evt);
}
});
jPanel1.add(b7);
b7.setBounds(100, 80, 50, 27);
b8.setText("8");
b8.setEnabled(false);
b8.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
b8ActionPerformed(evt);
}
});
jPanel1.add(b8);
b8.setBounds(160, 80, 50, 27);
getContentPane().add(jPanel1, java.awt.BorderLayout.CENTER);
java.awt.Dimension screenSize = java.awt.Toolkit.getDefaultToolkit().getScreenSize();
setBounds((screenSize.width-364)/2, (screenSize.height-276)/2, 364, 276);
}// </editor-fold>
private void b0ActionPerformed(java.awt.event.ActionEvent evt) {
if(tela==""){
tfExibe.setText(tfExibe.getText()+"0");
}else{
tfExibe.setText(tfExibe.getText()+"0");
}
tela="0";
}
private void b1ActionPerformed(java.awt.event.ActionEvent evt) {
if(tela==""){
tfExibe.setText(tfExibe.getText()+"1");
}else{
tfExibe.setText(tfExibe.getText()+"1");
}
tela="1";
}
private void b2ActionPerformed(java.awt.event.ActionEvent evt) {
if(tela==""){
tfExibe.setText(tfExibe.getText()+"2");
}else{
tfExibe.setText(tfExibe.getText()+"2");
}
tela="2";
}
private void b3ActionPerformed(java.awt.event.ActionEvent evt) {
if(tela==""){
tfExibe.setText(tfExibe.getText()+"3");
}else{
tfExibe.setText(tfExibe.getText()+"3");
}
tela="3";
}
private void b4ActionPerformed(java.awt.event.ActionEvent evt) {
if(tela==""){
tfExibe.setText(tfExibe.getText()+"4");
}else{
tfExibe.setText(tfExibe.getText()+"4");
}
tela="4";
}
private void b5ActionPerformed(java.awt.event.ActionEvent evt) {
if(tela==""){
tfExibe.setText(tfExibe.getText()+"5");
}else{
tfExibe.setText(tfExibe.getText()+"5");
}
tela="5";
}
private void b6ActionPerformed(java.awt.event.ActionEvent evt) {
if(tela==""){
tfExibe.setText(tfExibe.getText()+"6");
}else{
tfExibe.setText(tfExibe.getText()+"6");
}
tela="6";
}
private void b7ActionPerformed(java.awt.event.ActionEvent evt) {
if(tela==""){
tfExibe.setText(tfExibe.getText()+"7");
}else{
tfExibe.setText(tfExibe.getText()+"7");
}
tela="7";
}
private void b8ActionPerformed(java.awt.event.ActionEvent evt) {
if(tela==""){
tfExibe.setText(tfExibe.getText()+"8");
}else{
tfExibe.setText(tfExibe.getText()+"8");
}
tela="8";
}
private void b9ActionPerformed(java.awt.event.ActionEvent evt) {
if(tela==""){
tfExibe.setText(tfExibe.getText()+"9");
}else{
tfExibe.setText(tfExibe.getText()+"9");
}
tela="9";
}
private void bAdiActionPerformed(java.awt.event.ActionEvent evt) {
if (op=="+"){
v2=Double.parseDouble(tfExibe.getText());
v1=v1+v2;
}
op="+";
v1=Double.parseDouble(tfExibe.getText());
tela="";
tfExibe.setText("");
}
private void bSubActionPerformed(java.awt.event.ActionEvent evt) {
if (op=="-"){
v2=Double.parseDouble(tfExibe.getText());
v1=v1-v2;
}
op="-";
v1=Double.parseDouble(tfExibe.getText());
tela="";
tfExibe.setText("");
}
private void bMultActionPerformed(java.awt.event.ActionEvent evt) {
if (op=="*"){
v2=Double.parseDouble(tfExibe.getText());
v1=v1*v2;
}
op="*";
v1=Double.parseDouble(tfExibe.getText());
tela="";
tfExibe.setText("");
}
private void bDivActionPerformed(java.awt.event.ActionEvent evt) {
if (op=="/"){
v2=Double.parseDouble(tfExibe.getText());
v1=v1/v2;
}
op="/";
v1=Double.parseDouble(tfExibe.getText());
tela="";
tfExibe.setText("");
}
private void bIgualActionPerformed(java.awt.event.ActionEvent evt) {
v2=Double.parseDouble(tfExibe.getText());
if (op=="+"){
res=v1+v2;
}
if (op=="-"){
res=v1-v2;
}
if (op=="/"){
res=v1/v2;
}
if (op=="*"){
res=v1*v2;
}
tfExibe.setText(String.valueOf(res));
tela="";
op="";
res=0;
v1=0;
v2=0;
raiz=0;
por=0;
}
private void bCeActionPerformed(java.awt.event.ActionEvent evt) {
tfExibe.setText("");
tela=null;
op=null;
res=0;
por=0;
v1=0;
v2=0;
}
private void bPorActionPerformed(java.awt.event.ActionEvent evt) {
v2=Double.parseDouble(tfExibe.getText());
if (op=="+"){
por=v1+((v1*v2)/100);
}
if (op=="-"){
por=v1-((v1*v2)/100);
}
if (op=="*"){
por=(v1*v2)/100;
}
tfExibe.setText(String.valueOf(por));
tela="";
}
private void bSqrtActionPerformed(java.awt.event.ActionEvent evt) {
raiz=Double.parseDouble(tfExibe.getText());
tfExibe.setText(String.valueOf(Math.sqrt(raiz)));
}
private void bMrActionPerformed(java.awt.event.ActionEvent evt) {
tfExibe.setText(String.valueOf(m));
}
private void bMaisActionPerformed(java.awt.event.ActionEvent evt) {
m=Double.parseDouble(tfExibe.getText());
}
private void bMenosActionPerformed(java.awt.event.ActionEvent evt) {
m=0;
}
private void bOnActionPerformed(java.awt.event.ActionEvent evt) {
b1.setEnabled(true);
b2.setEnabled(true);
b3.setEnabled(true);
b4.setEnabled(true);
b5.setEnabled(true);
b6.setEnabled(true);
b7.setEnabled(true);
b8.setEnabled(true);
b9.setEnabled(true);
b0.setEnabled(true);
bOff.setEnabled(true);
bAdi.setEnabled(true);
bDiv.setEnabled(true);
bMult.setEnabled(true);
bSub.setEnabled(true);
bPor.setEnabled(true);
bSqrt.setEnabled(true);
bCe.setEnabled(true);
bIgual.setEnabled(true);
bMr.setEnabled(true);
bMais.setEnabled(true);
bMenos.setEnabled(true);
bOn.setEnabled(false);
tfExibe.requestFocus();
}
private void bOffActionPerformed(java.awt.event.ActionEvent evt) {
b1.setEnabled(false);
b2.setEnabled(false);
b3.setEnabled(false);
b4.setEnabled(false);
b5.setEnabled(false);
b6.setEnabled(false);
b7.setEnabled(false);
b8.setEnabled(false);
b9.setEnabled(false);
b0.setEnabled(false);
bOff.setEnabled(false);
bAdi.setEnabled(false);
bDiv.setEnabled(false);
bMult.setEnabled(false);
bSub.setEnabled(false);
bPor.setEnabled(false);
bSqrt.setEnabled(false);
bCe.setEnabled(false);
bIgual.setEnabled(false);
bMr.setEnabled(false);
bMais.setEnabled(false);
bMenos.setEnabled(false);
bOn.setEnabled(true);
tfExibe.setText("");
tela=null;
op=null;
res=0;
por=0;
v1=0;
v2=0;
}
public static void main(String args[]) {
java.awt.EventQueue.invokeLater(new Runnable() {
public void run() {
new calculadora().setVisible(true);
}
});
}
// Variables declaration - do not modify
private javax.swing.JButton b0;
private javax.swing.JButton b1;
private javax.swing.JButton b2;
private javax.swing.JButton b3;
private javax.swing.JButton b4;
private javax.swing.JButton b5;
private javax.swing.JButton b6;
private javax.swing.JButton b7;
private javax.swing.JButton b8;
private javax.swing.JButton b9;
private javax.swing.JButton bAdi;
private javax.swing.JButton bCe;
private javax.swing.JButton bDiv;
private javax.swing.JButton bIgual;
private javax.swing.JButton bMais;
private javax.swing.JButton bMenos;
private javax.swing.JButton bMr;
private javax.swing.JButton bMult;
private javax.swing.JButton bOff;
private javax.swing.JButton bOn;
private javax.swing.JButton bPor;
private javax.swing.JButton bSqrt;
private javax.swing.JButton bSub;
private javax.swing.JPanel jPanel1;
private javax.swing.JTextField tfExibe;
// End of variables declaration
}
primeiros exemplos usando metodos
Nenhum comentário foi encontrado.
Papagaiando o XFCE com temas e recursos
WhatsApp com Chamadas no Linux via Waydroid
XFCE - quase um Gnome ou Plasma mas muito mais leve
LXQT - funcional para máquinas pererecas e usuários menos exigentes
Atualizações de Segurança Automáticas no Debian
Como cortar as partes de um vídeo com passagens de áudio em branco
Tiling automático no KDE Plasma
SNMP Scan no OCS Inventory só funciona com HTTPS corretamente configurado
Alguém tem que acabar com ANATEL!!! (1)
Reflexão sobre a sobrevivência do Gentoo Linux (0)
GOG confirma suporte oficial ao sistema Linux: "o trabalho começo... (4)









