Академический Документы
Профессиональный Документы
Культура Документы
import java.awt.EventQueue;
import javax.swing.JFrame;
import javax.swing.JTextField;
import javax.swing.JButton;
import java.awt.Font;
import javax.swing.SwingConstants;
import java.awt.event.ActionListener;
import java.awt.event.ActionEvent;
double firstnum;
double secondnum;
double result;
String operations;
String answer;
/**
EventQueue.invokeLater(new Runnable() {
try {
window.frame.setVisible(true);
} catch (Exception e) {
e.printStackTrace();
});
/**
*/
public Calculator() {
initialize();
/**
*/
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.getContentPane().setLayout(null);
frame.getContentPane().add(txtDisplay);
txtDisplay.setColumns(10);
btn7.addActionListener(new ActionListener() {
txtDisplay.setText(EnterNumber);
});
frame.getContentPane().add(btn7);
btn8.addActionListener(new ActionListener() {
});
frame.getContentPane().add(btn8);
btn9.addActionListener(new ActionListener() {
txtDisplay.setText(EnterNumber);
});
frame.getContentPane().add(btn9);
btnminus.addActionListener(new ActionListener() {
firstnum=Double.parseDouble(txtDisplay.getText());
txtDisplay.setText("");
operations="-";
//txtDisplay.setText("-");
}
});
frame.getContentPane().add(btnminus);
btndel.addActionListener(new ActionListener() {
String backspace=null;
if(txtDisplay.getText().length()>0) {
strB.deleteCharAt(txtDisplay.getText().length()-1);
backspace=strB.toString();
txtDisplay.setText(backspace);
});
frame.getContentPane().add(btndel);
btnclr.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
txtDisplay.setText(null);
});
frame.getContentPane().add(btnclr);
btnper.addActionListener(new ActionListener() {
firstnum=Double.parseDouble(txtDisplay.getText());
txtDisplay.setText("");
operations="%";
//txtDisplay.setText("%");
});
frame.getContentPane().add(btnper);
btnplus.addActionListener(new ActionListener() {
firstnum=Double.parseDouble(txtDisplay.getText());
txtDisplay.setText("");
operations="+";
//txtDisplay.setText("+");
});
frame.getContentPane().add(btnplus);
btn4.addActionListener(new ActionListener() {
txtDisplay.setText(EnterNumber);
});
frame.getContentPane().add(btn4);
btn5.addActionListener(new ActionListener() {
txtDisplay.setText(EnterNumber);
}
});
frame.getContentPane().add(btn5);
btn6.addActionListener(new ActionListener() {
txtDisplay.setText(EnterNumber);
});
frame.getContentPane().add(btn6);
btnmul.addActionListener(new ActionListener() {
firstnum=Double.parseDouble(txtDisplay.getText());
txtDisplay.setText("");
operations="*";
//txtDisplay.setText("*");
}
});
frame.getContentPane().add(btnmul);
btn1.addActionListener(new ActionListener() {
txtDisplay.setText(EnterNumber);
});
frame.getContentPane().add(btn1);
btn2.addActionListener(new ActionListener() {
txtDisplay.setText(EnterNumber);
});
btn3.addActionListener(new ActionListener() {
txtDisplay.setText(EnterNumber);
});
frame.getContentPane().add(btn3);
btndiv.addActionListener(new ActionListener() {
firstnum=Double.parseDouble(txtDisplay.getText());
txtDisplay.setText("");
operations="/";
//txtDisplay.setText("/");
});
frame.getContentPane().add(btndiv);
JButton btn0 = new JButton("0");
btn0.addActionListener(new ActionListener() {
txtDisplay.setText(EnterNumber);
});
frame.getContentPane().add(btn0);
btnpoint.addActionListener(new ActionListener() {
if(! txtDisplay.getText().contains("."))
txtDisplay.setText(txtDisplay.getText() + btnpoint.getText());
});
frame.getContentPane().add(btnpoint);
JButton btnsign = new JButton("±");
btnsign.addActionListener(new ActionListener() {
double ops=Double.parseDouble(String.valueOf(txtDisplay.getText()));
ops=ops*(-1);
txtDisplay.setText(String.valueOf(ops));
});
frame.getContentPane().add(btnsign);
btnequal.addActionListener(new ActionListener() {
String answer;
secondnum=Double.parseDouble(txtDisplay.getText());
if(operations=="+") {
result=firstnum+secondnum;
answer=String.format("%.2f",result);
txtDisplay.setText(answer);
else if(operations=="-") {
result=firstnum-secondnum;
answer=String.format("%.2f",result);
txtDisplay.setText(answer);
else if(operations=="*") {
result=firstnum*secondnum;
answer=String.format("%.2f",result);
txtDisplay.setText(answer);
else if(operations=="/") {
result=firstnum/secondnum;
answer=String.format("%.2f",result);
txtDisplay.setText(answer);
else if(operations=="%") {
result=firstnum%secondnum;
answer=String.format("%.2f",result);
txtDisplay.setText(answer);
});
frame.getContentPane().add(btnequal);