Tenho o seguinte código de uma calculadora simples, tirei numeros e operações para facilitar.
Quero separar em classes este código, mas por exemplo, quando separo a classe Limpar, dá erro, ja tentei corrigí-lo mas não está funcionando…
[quote]
import java.awt.;
import java.awt.event.;
import javax.swing.JFrame;
class Calc extends JFrame {
TextField txtResult;
Button btnIgual, btnClear, btn1, btn2, btnSom;
float a = 0, b = 0;
char op;
boolean ativado = false, ativado2 = false;
Calc() {
setBackground(Color.orange);
setLocation(450, 250);
setSize(310, 320);
setLayout(null);
setTitle(".:calculadora:.");
txtResult = new TextField("0");
txtResult.setBounds(60, 60, 118, 25);
add(txtResult);
btn1 = new Button("1");
btn1.setBounds(60, 150, 35, 25);
add(btn1);
btn2 = new Button("2");
btn2.setBounds(100, 150, 35, 25);
add(btn2);
btnIgual = new Button("=");
btnIgual.setBounds(60, 180, 35, 25);
add(btnIgual);
btnSom = new Button("+");
btnSom.setBounds(10, 90, 35, 25);
add(btnSom);
btnClear = new Button("C");
btnClear.setBounds(10, 60, 35, 25);
add(btnClear);
setVisible(true);
btnClear.addActionListener(new Limpar());
btn1.addActionListener(new Um());
btn2.addActionListener(new Dois());
btnSom.addActionListener(new Somar());
btnIgual.addActionListener(new Resultado());
addWindowListener(new WindowAdapter() {
public void windowClosing(WindowEvent e) {
System.exit(0);
}
});
}
class Somar implements ActionListener {
public void actionPerformed(ActionEvent e) {
op = '+';
a = Float.parseFloat(txtResult.getText());
ativado = true;
}
}
class Resultado implements ActionListener {
public void actionPerformed(ActionEvent e) {
if (ativado2 == false) {
b = Float.parseFloat(txtResult.getText());
}
switch (op) {
case '+':
a = a + b;
txtResult.setText(String.valueOf(a));
ativado = true;
ativado2 = true;
break;
}
}
}
class Limpar implements ActionListener {
public void actionPerformed(ActionEvent e) {
txtResult.setText("0");
ativado = false;
}
}
class Um implements ActionListener {
public void actionPerformed(ActionEvent e) {
ativado2 = false;
if ("0".equals(txtResult.getText()) || (ativado == true)) {
txtResult.setText("1");
ativado = false;
} else
txtResult.setText(txtResult.getText() + "1");
}
}
class Dois implements ActionListener {
public void actionPerformed(ActionEvent e) {
ativado2 = false;
if ("0".equals(txtResult.getText()) || (ativado == true)) {
txtResult.setText("2");
ativado = false;
} else
txtResult.setText(txtResult.getText() + "2");
}
}
public static void main(String[] arg) {
Calc ob = new Calc();
}
}
[code]