у ньому визначені три методи, що дозволяють відслідковувати події введення, зміни і видаленні текста19public class Button extends JFrame {20//створюємо клас Button, відповідальний за фрейм21 JButton but;// кнопка 122 JButton but2;// Кнопка 223 JTextArea area;// Текстова область24 JTextField tf;// текстове поле25 Button () {26e4b2380 oskar27 super ( Калькулятор розрахунку символів у тексті ); 2013-03-13 Update button.java28//назва програмного продукта29 setDefaultCloseOperation (JFrame.EXIT_ON_CLOSE); 30//За допомогою методу setDefaultCloseOperation ми говоримо системі, як відреагувати на закриття вікна. Для того, щоб при закритті вікна закривалася і додаток ми передаємо параметр JFrame.EXIT_ON_CLOSE34//метод setLayout () - менеджер компонування
Розділ 7. Програмний код
java.awt.BorderLayout;
/* Менеджер розміщення BorderLayout ділить контейнер на п'ять нерівних областей, повністю заповнюючи кожну область одним компонентом. Області отримали географічні назви NORTH, SOUTH, WEST, EAST І CENTER. */Java.awt.event.ActionEvent;
//подія, що генерується при натисканні кнопкіjava.awt.event.ActionListener;
//інтерфейс класу, який буде обробляти події від кнопкіjavax.swing.JButton;
//імпорт з бібліотеки Swing компонента JButton (кнопка) javax.swing.JFrame;
/* імпорт з бібліотеки Swing класу JFrame - є контейнером, що дозволяє додавати до себе інші компоненти для їх організації та надання користувачу */javax.swing.JTextArea;
//імпорт JTextArea - багаторядкова область, яка виводить на екран простий текст.javax.swing.JTextField;
//текстове поле JTextFieldjavax.swing.event.DocumentEvent;
//Об'єкт DocumentEvent надає механізм, за допомогою якого користувач може створити подію Event, підтримуване в певній реалізаціі.javax.swing.event.DocumentListener;
//інтерфейс DocumentListener - у ньому визначені три методи, що дозволяють відслідковувати події введення, зміни і видаленні текстаclass Button extends JFrame {
//створюємо клас Button, відповідальний за фреймbut;// кнопка 1but2;// Кнопка 2area;// Текстова областьtf;// текстове поле () {( Калькулятор розрахунку символів у тексті );
//назва програмного продукту (JFrame.EXIT_ON_CLOSE);
//За допомогою методу setDefaultCloseOperation ми говоримо системі, як відреагувати на закриття вікна. Для того, щоб при закритті вікна закривалася і додаток ми передаємо параметр JFrame.EXIT_ON_CLOSE (400, 450);// визначаємо розмір нашого вікна (ширину і висоту) (new BorderLayout ());
//метод setLayout () - менеджер компонування=new JButton ( Розрахувати кількість символів і слів ); (but, BorderLayout.NORTH);
//створюється кнопка з текстом Розрахувати кількість символів raquo ;, розміщується зверху вікна=new JTextArea () ;. setLineWrap (true);// розподіляє текст по строкам.setWrapStyleWord (true);
//перенесення слів цілком на наступний рядок, якщо слово не вміщається в один рядок (area, BorderLayout.CENTER);
//створюється JTextArea - область для введення тексту, розміщується по середині вікна=new JTextField (50); (tf, BorderLayout.SOUTH);
//створюється текстове поле JTextField розміщується внизу вікна=new JButton ( Стерти ); (but2, BorderLayout.WEST);
//створюється кнопка з текстом Стерти raquo ;, розміщується зліва в окне.addActionListener (new ActionListener ()
{
@ Override
//обробляються події від кнопкіvoid actionPerformed (ActionEvent arg0) {
//При наявності в нашому класі програми реалізації ActionListener і перевантаження методу actionPerformed ми обробляємо всі події кнопки в межах нашого аплету (area.getText (). trim (). length ()!=0)
//перевірка текстової області на наявність введених символів
{. setText ( Кількість символів: + area.getText (). length () + laquo ;, Кількість слів: + area.getText (). trim (). split ( s + ). length);
//проводиться підрахунок символів і кількості слів введених в текстову область і виводить її результати в текстове поле JTextField
} {tf.setText ( ПОМИЛКА: Ви не ввели текст! );
//у випадку якщо не введені символи в текстову область виводиться повідомлення: ПОМИЛКА: Ви не ввели текст!
}
}
}) ;. addActionListener (new ActionListener ()
{
@ Override
//обробляються події кнопкіvoid ac...