Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- /*
- * To change this license header, choose License Headers in Project Properties.
- * To change this template file, choose Tools | Templates
- * and open the template in the editor.
- */
- package calcapp;
- import java.awt.event.ActionEvent;
- import java.awt.event.ActionListener;
- import javax.swing.JButton;
- import javax.swing.JFrame;
- import javax.swing.JLabel;
- import javax.swing.JPanel;
- import javax.swing.JTextField;
- public class Okno extends JFrame implements ActionListener {
- //поле ввода
- JTextField text;
- Calc calc = new Calc();
- // конструктор класса
- public Okno() {
- setTitle("Калькулятор");
- setBounds(10, 10, 800, 600);
- setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
- // add main panel
- getContentPane().add(createPanel());
- setVisible(true);
- }
- // метод для создания кнопки калькуляторы
- public JButton createButton(String label) {
- JButton b = new JButton(label);
- // подключение обработчика событий
- b.addActionListener(this);
- return b;
- }
- //
- public JPanel createPanel() {
- JPanel p = new JPanel();
- // JLabel отображает текст
- JLabel label = new JLabel("Результат: ");
- p.add(label);
- // создаем поле ввода
- text = new JTextField(20);
- p.add(text);
- // добавляем цифровые кнопки (10 кнопок) в панель
- for (int i = 0; i < 10; i++) {
- String bName = String.valueOf(i); // String.valueOf - метод для получения строки из числа
- JButton b1 = createButton(bName);
- p.add(b1);
- }
- // добавляем кнопки-операции: + - * /
- p.add(createButton("+"));
- p.add(createButton("-"));
- p.add(createButton("*"));
- p.add(createButton("/"));
- p.add(createButton("=")); // кнопка для вычисления рез-та расчета
- p.add(createButton("C")); // позволяет очистить поле ввода
- p.add(createButton("Выход")); // выход из программы
- return p;
- }
- @Override
- public void actionPerformed(ActionEvent e) {
- System.out.println("actionPerformed!!!");
- String command = e.getActionCommand();
- if("Выход".equals(command)){
- System.exit(0); // System.exit - физич завершение
- }else if("C".equals(command)){
- // устанавливаем пустую строку в поле ввода
- text.setText("");
- }else if("=".equals(command)){
- // получить второе число и вывести на экран
- String v2Str = text.getText();
- System.out.println("v2Str=" + v2Str);
- double v2 = Double.valueOf(v2Str);
- // вычислить значение и установить в поле ввода
- String resultStr = "RESULT";
- text.setText(resultStr);
- // || - позволяет проверить выполнение одного из условий
- }else if("+".equals(command) || "-".equals(command) || "*".equals(command) || "/".equals(command)){
- // получаем первое число в виде строки
- String v1Str = text.getText();
- System.out.println("v1Str=" + v1Str);
- // получаем из строки число (значение типа double)
- double v1 = Double.valueOf(v1Str);
- calc.setV1(v1);
- calc.setOperation(command);
- text.setText("");
- }else{
- System.out.println("NUMBER=" + command);
- String oldText = text.getText();
- System.out.println("oldText=" + oldText);
- text.setText(oldText + command);
- }
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement