- •Основы объектно-ориентированного программирования
- •Оглавление
- •Тема 1. Введение в предмет и содержание дисциплины 4
- •Теоретический раздел
- •Тема 1. Введение в предмет и содержание дисциплины
- •Особенности Java
- •Комментарии
- •Ключевые слова
- •Литералы
- •Установка Java в переменных окружениях
- •Некоторые из особенностей элементов Java
- •Символы, строки и идентификаторы
- •Разделители
- •Операции
- •Основные приложения Java
- •Метод update()
- •Требование перерисовки
- •Тема 3. Введение в классы java. Методы и классы. Классы и наследование в java. Пакеты и интерфейсы Введение в классы Java
- •Синтаксис определения экземпляра класса
- •Модификаторы класса
- •Конструкторы
- •Ограничение доступа к элементам класса
- •Статические переменные и методы
- •Абстрактные методы
- •Методы final
- •Область видимости переменных
- •Переменные this и super
- •Тема 4. Основы ввода/вывода. Работа со строковыми данными Работа со строками
- •Потоки ввода-вывода информации
- •Байтовые и символьные потоки
- •Классы байтовых потоков
- •Классы символьных потоков
- •Предопределённые потоки
- •Тема 5. Работа с файлами Классы FileInputStream и FileOutputStream
- •Класс File
- •Класс RandomAccessFile
- •Тема 6. Методы и средства обработки исключений Методы и средства обработки исключений
- •Тема 7. Разработка апплетов, работа с графикой
- •Пакет awt
- •Класс Applet
- •Инициализация и завершение апплета
- •Запуск апплетов
- •Рисование линий в апплете
- •Рисование прямоугольников в апплете
- •Рисование эллипсов и кругов в апплете
- •Рисование дуг в апплете
- •Работа с цветом
- •Тема 8. Многопоточное программирование Интерфейсы в Java
- •Многопоточное программирование
- •Организация потоков
- •Создание нового потока
- •Тема 9. Разработка пользовательского интерфейса с использованием фреймов, элементов управления
- •События
- •Классы событий
- •Класс ActionEvent
- •Элементы-источники событий
- •Интерфейсы прослушивания событий
- •Классы пакета awt: Component, Window, Frame
- •Элементы управления Label, Button, Checkbox, Choice, List, Scrollbar
- •Элементы управления TextField и TextArea
- •Диалоговые окна
- •Контроль знаний Индивидуальная практическая работа № 1. «Объекты и классы»
- •Индивидульная практическая работа № 2. «Наследование и скрытие данных. Абстрактные классы и интерфейсы»
- •Контрольная работа № 1. «Работа с файлами»
- •Контрольная работа № 2. «Разработка пользовательского интерфейса с использованием фреймов, элементов управления»
- •Список использованных источников
Элементы управления TextField и TextArea
Эти два класса позволяют отображать текст с возможностью его выделения и редактирования. Это по сути маленькие текстовые редакторы – однострочный (TextField) и многострочный (TextArea).
Создать текстовое поле и текстовую область можно следующими способами:
TextField tf = new TextField (50);
TextArea ta = new TextArea (5, 30);
Чтобы запретить или разрешить редактирование текста в окне, можно возпользоваться методом void setEditable(boolean).
tf.setEditable (false);
ta.setEditable (false);
Некоторые методы классов TextField и TextArea:
String getText( ) – читать текст;
void setText(String) – отобразить текст;
void selectAll( ) – выделить весь текст;
int getColumns( ) – возвратить количество символов строки.
Специфические методы TextField:
void setEchoChar(char) – установить символ маски (при вводе паролей);
char getEchoChar( ) − узнать символ маски.
Специфические методы для TextArea:
int getRows( ) – считать количество строк в окне;
void insertText(String, int) – вставить текст в определенной позиции int;
void replaceText(String, int, int) – заменить текст между заданными начальной и конечной позицией.
Следующий пример демонстрирует приложение с элементами управления: кнопкой (Button), списком (List), раскрывающимся списком(Choice), текстовой строкой (Label), текстовым полем (TextField). Введенное в текстовом поле слово при нажатии кнопки добавляется как в список, так и в раскрывающийся список. Также реализован механизм закрытия фрейма.
Пример 3.7
Листинг GUISample.java
import java.io.*; //импортирование пакета ввода-вывода
import java.awt.*; //импортирование пакета awt
import java.awt.event.*; //импортирование пакета поддержки событий
public class GUISample extends Frame{ //объявление класса GUISample
Button b1 = new Button("Add"); //создание кнопки с надписью "Add"
Choice ch1=new Choice(); //создание раскрывающегося списка
TextField tf1 = new TextField(); //создание текстового поля (строки
//ввода)
Label label1 = new Label("Enter your text here:"); //создание текстовой
//строки
List l1 = new List(); //создание списка
public GUISample(){ //объявление конструктора класса
setLayout(null); //отключение менеджера компоновки
setSize(600,400); //установка размеров фрейма
setTitle("This is my Frame"); //установка заголовка фрейма
setBackground(Color.cyan); //установка цвета заднего фона фрейма
add(b1); //добавление кнопки к окну
b1.setBounds(220,200,84,24); //установка размеров кнопки
b1.setForeground(Color.black); //установка цвета переднего фона кнопки
b1.setBackground(Color.magenta); //установка цвета заднего фона кнопки
add(ch1); //добавление раскрывающегося списка к окну
ch1.setBounds(50,120,120,20); //установка размеров раскрывающегося
//списка
add(tf1); //добавление текстового поля к окну
tf1.setBounds(200,80,120,20); //установка размеров текстового поля
add(label1); //добавление текстовой строки к окну
label1.setBounds(200,55,120,20); //установка размеров текстовой строки
add(l1); //добавление списка к окну
l1.setBackground(Color.white); //установка цвета заднего фона списка
l1.setBounds(350,120,200,216); //установка размеров списка
/*регистрация блока прослушивания событий типа WindowEvent*/
addWindowListener(new WindowClose());
/*регистрация блока прослушивания событий типа ActionEvent*/
b1.addActionListener(new ButtonAdd());
}
/*объявление класса-адаптера для обработки Window-событий*/
class WindowClose extends WindowAdapter {
/*метод, который вызывается при закрытии окна*/
public void windowClosing(WindowEvent we) {
setVisible(false); //фрейм-окно становится невидимым
}
}
/*объявление класса для обработки Action-событий (класс ButtonAdd реализует интерфейс ActionListener)*/
class ButtonAdd implements ActionListener {
/*реализация метода, который вызывается при наступлении action-события*/
public void actionPerformed(ActionEvent event) {
/*добавление текста из текстового поля в раскрывающийся список*/
ch1.add(tf1.getText());
/*добавление текста из текстового поля в список*/
l1.add(tf1.getText(),2);
}
}
static public void main(String args[]){ //объявление метода main()
GUISample MyFrame=new GUISample(); //создание экземпляра класса GUISample
MyFrame.setVisible(true); //выведение окна на экран дисплея
} }
Результаты работы программы представлены на рис. 3.1.
Рис. 3.1. Результат работы программы
