sergAccount

Untitled

Jan 30th, 2021
524
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  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.  
RAW Paste Data

Adblocker detected! Please consider disabling it...

We've detected AdBlock Plus or some other adblocking software preventing Pastebin.com from fully loading.

We don't have any obnoxious sound, or popup ads, we actively block these annoying types of ads!

Please add Pastebin.com to your ad blocker whitelist or disable your adblocking software.

×