Advertisement
sergAccount

Untitled

Jan 30th, 2021
685
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 3.18 KB | None | 0 0
  1. /*
  2.  * To change this license header, choose License Headers in Project Properties.
  3.  * To change this template file, choose Tools | Templates
  4.  * and open the template in the editor.
  5.  */
  6. package calcapp;
  7.  
  8. import java.awt.event.ActionEvent;
  9. import java.awt.event.ActionListener;
  10. import javax.swing.JButton;
  11. import javax.swing.JFrame;
  12. import javax.swing.JLabel;
  13. import javax.swing.JPanel;
  14. import javax.swing.JTextField;
  15.  
  16. public class Okno extends JFrame implements ActionListener {  
  17.     JTextField resultText;
  18.     // конструктор класса
  19.     public Okno(){
  20.         // setTitle - задаем заголовок главного окна
  21.         setTitle("Калькулятор");
  22.         // setBounds - установим размеры и коорд x, y - расположения окна на экране
  23.         setBounds(10, 10, 800, 600);    
  24.         getContentPane().add(createPanel());
  25.         // для правильного закрытия окна используем
  26.         setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
  27.         setVisible(true); // отображаем окно на экране
  28.     }    
  29.     // универсальный метод который создает кнопку объект типа JButton
  30.     public JButton createButton(String title) {
  31.         // создаем кнопку - объект типа JButton
  32.         JButton b = new JButton(title);
  33.         // указываем обработчик событий для кнопки
  34.         b.addActionListener(this);
  35.         return b;
  36.     }    
  37.     // метод создает панель и устанавливает элементы управления внутри данной панели
  38.     public JPanel createPanel(){
  39.         JPanel p = new JPanel();
  40.         // создаем элемент управления типа JLabel - текст (заголовок)
  41.         JLabel label = new JLabel("Результат: ");  
  42.         // используем метод add для добавление элемента в панель
  43.         p.add(label);
  44.         // JTextField - поле ввода (для ввода информации и отображения)
  45.         resultText = new JTextField(20);
  46.         p.add(resultText);
  47.         // создаем кнопку и добавляем в панель
  48.         JButton b1 = createButton("Выход");
  49.         p.add(b1);
  50.         return p;
  51.     }
  52.     // метод отвечает за обработку событий интерфейса
  53.     // объект типа ActionEvent - событие
  54.     @Override
  55.     public void actionPerformed(ActionEvent e) {
  56.         // выводим сообщение при вызове метода
  57.         System.out.println("actionPerformed!");
  58.         //
  59.         String action = e.getActionCommand();
  60.         System.out.println("action=" + action);
  61.         // выполняем выход из программы если нажата кнопка Выход
  62.         // сравнение объектов с помощью метода equals
  63.         if(action.equals("Выход")){
  64.             System.exit(0);
  65.         }
  66.     }
  67. }
  68.  
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement