package kalkulator;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JTextField;
class zmienne {
public static boolean dodawanie = false;
public static boolean odejmowanie = false;
public static boolean mnozenie = false;
public static boolean dzielenie = false;
public static double a, b, ab;
public static double p;
public static double aa, bb;
public static String tekst;
}
public class Kalkulator {
JTextField wyswietl;
boolean znak = false;
JFrame frame = new JFrame("Kalkulator");
public Kalkulator() {
frame.setSize(270, 305); // rozmiar okienka
frame.setLocation(470, 280); // Gdzie ma pojawiać się okienko
frame.setResizable(false); //zablokowanie możliwości rozszeżania
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.setLayout(null); // sami ustawiamy co gdzie ma być, by nie robiła tego za nas java
wyswietl = new JTextField("");
wyswietl.setBounds(10, 10, 247, 50); //gdzie ma być to pole i jakich ma być wymiarów
wyswietl.setHorizontalAlignment(JTextField.RIGHT); // text od prawej
frame.add(wyswietl); //dodanie pola do frame
btn_1.setBounds(10, 170, 45, 45);
//itd
frame.add(btn_wynik);
//itd.
btn_wynik.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent arg0) {
zmienne.ab = 0;
if (zmienne.dodawanie) {
zmienne.b = Double.parseDouble(wyswietl.getText());
zmienne.ab = zmienne.a + zmienne.b;
wyswietl.setText(Double.toString(zmienne.ab));
} else if (zmienne.odejmowanie) {
zmienne.b = Double.parseDouble(wyswietl.getText());
zmienne.ab = zmienne.a - zmienne.b;
wyswietl.setText(Double.toString(zmienne.ab));
} else if (zmienne.mnozenie) {
zmienne.b = Double.parseDouble(wyswietl.getText());
zmienne.ab = zmienne.a * zmienne.b;
wyswietl.setText(Double.toString(zmienne.ab));
} else if (zmienne.dzielenie) {
zmienne.b = Double.parseDouble(wyswietl.getText());
if (zmienne.b != 0) {
zmienne.ab = zmienne.a / zmienne.b;
wyswietl.setText(Double.toString(zmienne.ab));
} else {
wyswietl.setText("Nie mozna dzielić przez 0");
funkcja(1, Guziki);
}
}
}
});
}
JButton btn_1 = new JButton("1");
JButton btn_2 = new JButton("2");
JButton btn_3 = new JButton("3");
JButton btn_4 = new JButton("4");
JButton btn_5 = new JButton("5");
JButton btn_6 = new JButton("6");
JButton btn_7 = new JButton("7");
JButton btn_8 = new JButton("8");
JButton btn_9 = new JButton("9");
JButton btn_0 = new JButton("0");
JButton btn_c = new JButton("C");
JButton btn_dodawanie = new JButton("+");
JButton btn_odejmowanie = new JButton("-");
JButton btn_mnozenie = new JButton("*");
JButton btn_dzielenie = new JButton("/");
JButton btn_procent = new JButton("%");
JButton btn_pierwiastek = new JButton("√");
JButton btn_wynik = new JButton("=");
JButton[] Guziki = {btn_1, btn_2, btn_3, btn_4, btn_5, btn_6, btn_7, btn_8, btn_9, btn_0, btn_dodawanie, btn_odejmowanie, btn_mnozenie, btn_dzielenie, btn_wynik, btn_procent, btn_pierwiastek, btn_c};
public static void main(String[] args) throws ArithmeticException {
new Kalkulator().frame.setVisible(true);
}
public void funkcja(int indeks, JButton[] Guziki) {
for (int i = 0; i < Guziki.length; i++) {
if (i == indeks) {
Guziki[i].setEnabled(true);
} else {
Guziki[i].setEnabled(false);
}
}
}
}