Estou Iniciando na programação em Java e gostaria de uma ajuda. Estou fazendo uma calculadora no Netbeans 6.8.
[b] - Criei um novo Projeto;
- Adicionei um JFrame;
- Fui modificando o código(eventos do botão);[/b]
O modo que estou fazendo está Correto?
As operações estão ok, o único problema é o botão igual (bIgual), pois não sei como implementa-lo…
Segue abaixo o código do JFrame…
[code]package Frames;
public class InterfaceCalc extends javax.swing.JFrame {
public InterfaceCalc() {
initComponents();
}
String Digitos = “”;
String Adds;
Boolean flag = true;
double Convertido1 = 0, Convertido2 = 0, Resultado;
String ResultadoString;
@SuppressWarnings("unchecked")
// <editor-fold defaultstate="collapsed" desc="Generated Code">
private void initComponents() {
jToggleButton1 = new javax.swing.JToggleButton();
bNro1 = new javax.swing.JButton();
bNro3 = new javax.swing.JButton();
bNro2 = new javax.swing.JButton();
bSubtracao = new javax.swing.JButton();
bNro4 = new javax.swing.JButton();
bNro5 = new javax.swing.JButton();
bNro6 = new javax.swing.JButton();
bMultiplicacao = new javax.swing.JButton();
bNro7 = new javax.swing.JButton();
bNro8 = new javax.swing.JButton();
bNro9 = new javax.swing.JButton();
bDivisao = new javax.swing.JButton();
bVirgula = new javax.swing.JButton();
bNro0 = new javax.swing.JButton();
bSoma = new javax.swing.JButton();
bIgual = new javax.swing.JButton();
lDisplay = new javax.swing.JLabel();
bC = new javax.swing.JButton();
jToggleButton1.setText("jToggleButton1");
setDefaultCloseOperation(javax.swing.WindowConstants.EXIT_ON_CLOSE);
bNro1.setText("1");
bNro1.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
bNro1ActionPerformed(evt);
}
});
bNro3.setText("3");
bNro3.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
bNro3ActionPerformed(evt);
}
});
bNro2.setText("2");
bNro2.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
bNro2ActionPerformed(evt);
}
});
bSubtracao.setText("-");
bSubtracao.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
bSubtracaoActionPerformed(evt);
}
});
bNro4.setText("4");
bNro4.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
bNro4ActionPerformed(evt);
}
});
bNro5.setText("5");
bNro5.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
bNro5ActionPerformed(evt);
}
});
bNro6.setText("6");
bNro6.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
bNro6ActionPerformed(evt);
}
});
bMultiplicacao.setText("*");
bMultiplicacao.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
bMultiplicacaoActionPerformed(evt);
}
});
bNro7.setText("7");
bNro7.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
bNro7ActionPerformed(evt);
}
});
bNro8.setText("8");
bNro8.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
bNro8ActionPerformed(evt);
}
});
bNro9.setText("9");
bNro9.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
bNro9ActionPerformed(evt);
}
});
bDivisao.setText("/");
bDivisao.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
bDivisaoActionPerformed(evt);
}
});
bVirgula.setText(",");
bVirgula.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
bVirgulaActionPerformed(evt);
}
});
bNro0.setText("0");
bNro0.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
bNro0ActionPerformed(evt);
}
});
bSoma.setText("+");
bSoma.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
bSomaActionPerformed(evt);
}
});
bIgual.setText("=");
bIgual.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
bIgualActionPerformed(evt);
}
});
lDisplay.setBackground(new java.awt.Color(255, 255, 255));
lDisplay.setFont(new java.awt.Font("Tahoma", 0, 18)); // NOI18N
lDisplay.setBorder(javax.swing.BorderFactory.createEtchedBorder());
bC.setText("C");
bC.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
bCActionPerformed(evt);
}
});
javax.swing.GroupLayout layout = new javax.swing.GroupLayout(getContentPane());
getContentPane().setLayout(layout);
layout.setHorizontalGroup(
layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(layout.createSequentialGroup()
.addContainerGap()
.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.TRAILING)
.addComponent(lDisplay, javax.swing.GroupLayout.Alignment.LEADING, javax.swing.GroupLayout.DEFAULT_SIZE, 176, Short.MAX_VALUE)
.addGroup(javax.swing.GroupLayout.Alignment.LEADING, layout.createSequentialGroup()
.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.TRAILING)
.addGroup(javax.swing.GroupLayout.Alignment.LEADING, layout.createSequentialGroup()
.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.TRAILING, false)
.addComponent(bNro0, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
.addGroup(javax.swing.GroupLayout.Alignment.LEADING, layout.createSequentialGroup()
.addComponent(bNro1)
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
.addComponent(bNro2)))
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addComponent(bNro3)
.addComponent(bVirgula, javax.swing.GroupLayout.PREFERRED_SIZE, 39, javax.swing.GroupLayout.PREFERRED_SIZE)))
.addGroup(javax.swing.GroupLayout.Alignment.LEADING, layout.createSequentialGroup()
.addComponent(bNro4)
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
.addComponent(bNro5)
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
.addComponent(bNro6)))
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
.addComponent(bIgual, javax.swing.GroupLayout.DEFAULT_SIZE, 41, Short.MAX_VALUE))
.addGroup(javax.swing.GroupLayout.Alignment.LEADING, layout.createSequentialGroup()
.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addComponent(bNro7)
.addComponent(bC, javax.swing.GroupLayout.DEFAULT_SIZE, 39, Short.MAX_VALUE))
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING, false)
.addComponent(bDivisao, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
.addComponent(bNro8))
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING, false)
.addComponent(bMultiplicacao, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
.addComponent(bNro9))
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING, false)
.addComponent(bSubtracao, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
.addComponent(bSoma, javax.swing.GroupLayout.PREFERRED_SIZE, 41, javax.swing.GroupLayout.PREFERRED_SIZE))))
.addContainerGap(javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))
);
layout.setVerticalGroup(
layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(javax.swing.GroupLayout.Alignment.TRAILING, layout.createSequentialGroup()
.addContainerGap()
.addComponent(lDisplay, javax.swing.GroupLayout.DEFAULT_SIZE, 50, Short.MAX_VALUE)
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.TRAILING)
.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
.addComponent(bMultiplicacao, javax.swing.GroupLayout.PREFERRED_SIZE, 31, javax.swing.GroupLayout.PREFERRED_SIZE)
.addComponent(bSubtracao, javax.swing.GroupLayout.PREFERRED_SIZE, 31, javax.swing.GroupLayout.PREFERRED_SIZE))
.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
.addComponent(bDivisao, javax.swing.GroupLayout.PREFERRED_SIZE, 31, javax.swing.GroupLayout.PREFERRED_SIZE)
.addComponent(bC, javax.swing.GroupLayout.PREFERRED_SIZE, 31, javax.swing.GroupLayout.PREFERRED_SIZE)))
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
.addComponent(bNro7, javax.swing.GroupLayout.PREFERRED_SIZE, 31, javax.swing.GroupLayout.PREFERRED_SIZE)
.addComponent(bNro8, javax.swing.GroupLayout.PREFERRED_SIZE, 31, javax.swing.GroupLayout.PREFERRED_SIZE)
.addComponent(bNro9, javax.swing.GroupLayout.PREFERRED_SIZE, 31, javax.swing.GroupLayout.PREFERRED_SIZE)
.addComponent(bSoma, javax.swing.GroupLayout.PREFERRED_SIZE, 31, javax.swing.GroupLayout.PREFERRED_SIZE))
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.TRAILING)
.addGroup(layout.createSequentialGroup()
.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
.addComponent(bNro4, javax.swing.GroupLayout.PREFERRED_SIZE, 31, javax.swing.GroupLayout.PREFERRED_SIZE)
.addComponent(bNro5, javax.swing.GroupLayout.PREFERRED_SIZE, 31, javax.swing.GroupLayout.PREFERRED_SIZE)
.addComponent(bNro6, javax.swing.GroupLayout.PREFERRED_SIZE, 31, javax.swing.GroupLayout.PREFERRED_SIZE))
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
.addComponent(bNro1, javax.swing.GroupLayout.PREFERRED_SIZE, 31, javax.swing.GroupLayout.PREFERRED_SIZE)
.addComponent(bNro2, javax.swing.GroupLayout.PREFERRED_SIZE, 31, javax.swing.GroupLayout.PREFERRED_SIZE)
.addComponent(bNro3, javax.swing.GroupLayout.PREFERRED_SIZE, 31, javax.swing.GroupLayout.PREFERRED_SIZE))
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
.addComponent(bNro0, javax.swing.GroupLayout.PREFERRED_SIZE, 31, javax.swing.GroupLayout.PREFERRED_SIZE)
.addComponent(bVirgula, javax.swing.GroupLayout.PREFERRED_SIZE, 31, javax.swing.GroupLayout.PREFERRED_SIZE)))
.addComponent(bIgual, javax.swing.GroupLayout.PREFERRED_SIZE, 105, javax.swing.GroupLayout.PREFERRED_SIZE))
.addContainerGap())
);
pack();
}// </editor-fold>
private void bNro1ActionPerformed(java.awt.event.ActionEvent evt) {
Adds = "1";
Digitos += Adds;
lDisplay.setText(Digitos);
}
private void bNro3ActionPerformed(java.awt.event.ActionEvent evt) {
Adds = "3";
Digitos += Adds;
lDisplay.setText(Digitos);
}
private void bNro2ActionPerformed(java.awt.event.ActionEvent evt) {
Adds = "2";
Digitos += Adds;
lDisplay.setText(Digitos);
}
private void bSubtracaoActionPerformed(java.awt.event.ActionEvent evt) {
if(flag == true){
Convertido1 = Double.parseDouble(Digitos);
Digitos = "";
Resultado = Convertido1 - Convertido2;
ResultadoString = String.valueOf(Resultado);
lDisplay.setText(ResultadoString);
flag = false;
}else{
Convertido2 = Double.parseDouble(Digitos);
Digitos = "";
Resultado = Convertido1 - Convertido2;
Convertido1 = 0;
ResultadoString = String.valueOf(Resultado);
lDisplay.setText(ResultadoString);
Convertido2 = Resultado;
flag = true;
}
}
private void bNro4ActionPerformed(java.awt.event.ActionEvent evt) {
Adds = "4";
Digitos += Adds;
lDisplay.setText(Digitos);
}
private void bNro5ActionPerformed(java.awt.event.ActionEvent evt) {
Adds = "5";
Digitos += Adds;
lDisplay.setText(Digitos);
}
private void bNro6ActionPerformed(java.awt.event.ActionEvent evt) {
Adds = "6";
Digitos += Adds;
lDisplay.setText(Digitos);
}
private void bMultiplicacaoActionPerformed(java.awt.event.ActionEvent evt) {
if(flag == true){
Convertido1 = Double.parseDouble(Digitos);
Digitos = "";
Resultado = Convertido1 * Convertido2;
ResultadoString = String.valueOf(Resultado);
//lDisplay.setText(ResultadoString);
flag = false;
}else{
Convertido2 = Double.parseDouble(Digitos);
Digitos = "";
Resultado = Convertido1 * Convertido2;
Convertido1 = 0;
ResultadoString = String.valueOf(Resultado);
lDisplay.setText(ResultadoString);
Convertido2 = Resultado;
flag = true;
}
}
private void bNro7ActionPerformed(java.awt.event.ActionEvent evt) {
Adds = "7";
Digitos += Adds;
lDisplay.setText(Digitos);
}
private void bNro8ActionPerformed(java.awt.event.ActionEvent evt) {
Adds = "8";
Digitos += Adds;
lDisplay.setText(Digitos);
}
private void bNro9ActionPerformed(java.awt.event.ActionEvent evt) {
Adds = "9";
Digitos += Adds;
lDisplay.setText(Digitos);
}
private void bDivisaoActionPerformed(java.awt.event.ActionEvent evt) {
if(flag == true){
Convertido1 = Double.parseDouble(Digitos);
Digitos = "";
Resultado = Convertido1 / Convertido2;
ResultadoString = String.valueOf(Resultado);
//lDisplay.setText(ResultadoString);
flag = false;
}else{
Convertido2 = Double.parseDouble(Digitos);
Digitos = "";
Resultado = Convertido1 / Convertido2;
Convertido1 = 0;
ResultadoString = String.valueOf(Resultado);
lDisplay.setText(ResultadoString);
Convertido2 = Resultado;
flag = true;
}
}
private void bVirgulaActionPerformed(java.awt.event.ActionEvent evt) {
Adds = ",";
Digitos += Adds;
lDisplay.setText(Digitos);
}
private void bNro0ActionPerformed(java.awt.event.ActionEvent evt) {
Adds = "0";
Digitos += Adds;
lDisplay.setText(Digitos);
}
private void bSomaActionPerformed(java.awt.event.ActionEvent evt) {
if(flag == true){
Convertido1 = Double.parseDouble(Digitos);
Digitos = "";
Resultado = Convertido1 + Convertido2;
ResultadoString = String.valueOf(Resultado);
lDisplay.setText(ResultadoString);
flag = false;
}else{
Convertido2 = Double.parseDouble(Digitos);
Digitos = "";
Resultado = Convertido1 + Convertido2;
Convertido1 = 0;
ResultadoString = String.valueOf(Resultado);
lDisplay.setText(ResultadoString);
Convertido2 = Resultado;
flag = true;
}
}
private void bIgualActionPerformed(java.awt.event.ActionEvent evt) {
// TODO add your handling code here:
}
private void bCActionPerformed(java.awt.event.ActionEvent evt) {
lDisplay.setText("");
Adds = "";
Digitos ="";
flag = true;
Convertido1 = 0;
Convertido2 = 0;
}
public static void main(String args[]) {
java.awt.EventQueue.invokeLater(new Runnable() {
public void run() {
new InterfaceCalc().setVisible(true);
}
});
}
// Variables declaration - do not modify
private javax.swing.JButton bC;
private javax.swing.JButton bDivisao;
private javax.swing.JButton bIgual;
private javax.swing.JButton bMultiplicacao;
private javax.swing.JButton bNro0;
private javax.swing.JButton bNro1;
private javax.swing.JButton bNro2;
private javax.swing.JButton bNro3;
private javax.swing.JButton bNro4;
private javax.swing.JButton bNro5;
private javax.swing.JButton bNro6;
private javax.swing.JButton bNro7;
private javax.swing.JButton bNro8;
private javax.swing.JButton bNro9;
private javax.swing.JButton bSoma;
private javax.swing.JButton bSubtracao;
private javax.swing.JButton bVirgula;
private javax.swing.JToggleButton jToggleButton1;
private javax.swing.JLabel lDisplay;
// End of variables declaration
}[/code]