Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
шпоры-2 оопип часть 4.doc
Скачиваний:
46
Добавлен:
01.04.2014
Размер:
445.44 Кб
Скачать

56. Классы TextComponent, 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

При создании текстового поля вы можете выбрать один из четырех конструкторов, соответственно, для создания поля без текста и без указания размера, без текста заданного размера, для создания поля с текстом и для создания поля с текстом указанного размера.

Вот фрагмент кода, в котором создается поле с текстом, имеющее ширину, достаточную для размещения 35 символов:

TextField txt;

txt = new TextField(

"Введите строку текста", 35);

Созданное поле добавляется в окно аплета методом add.

Большинство самых полезнных методов, необходимых для работы с полем класса TextField, определено в классе TextComponent, краткое описание которого мы привели ниже.

Класс TextComponent

Методы

getSelectedText

Получение текста, выделенного пользователем в окне поля

public String getSelectedText();

getSelectionEnd

Получение позиции конца выделенной области

public int getSelectionEnd();

getSelectionStart

Получение позиции начала выделенной области

public int getSelectionStart();

getText

Получение полного текста из поля

public String getText();

57. Наследники Container

Класс Component служит в качестве базового класса для класса Container. Объекты этого класса, которые мы будем называть контейнерами, могут содержать объекты классов Component и Container. Таким образом, внутри контейнеров могут находиться компоненты и другие контейнеры.

Класс Applet, так же как и другие классы, произведенные от класса Container, является контейнером. Это означает, что аплет может содержать в себе компоненты (такие как органы управления) и контейнеры.

Заметим, что класс Applet наследуется от класса Container через класс Panel, в котором определены методы системы Layout Manager. Настраивая соответствующим образом Layout Manager, мы можем менять стратегию размещения компонент внутри окна аплета.

В окне аплета вы можете создать несколько объектов класса Panel (панелей), разделяющих окно на части. Для каждой такой панели можно установить свою стратегию размещения компонент и контейнеров, что позволяет выполнять достаточно сложную компоновку в окне аплета.

Диалоговые окна подобны фрейм-окнам, за исключением того, что они– всегда дочерние окна для окна верхнего уровня. Кроме того, диалоговые окна не имеют строки меню. В других отношениях они функционируют подобно фреймовым окнам. Можно, например, добавить к ним элементы управления тем же способом, каким добавляются элементы управления к фреймовому окну. Диалоговые окна могут быть модальными или немодальными. Когда модальное диалоговое окно активно, весь ввод направляется к нему, пока оно не будет закрыто. Это означает, что вы не можете обращаться к другим частям программы до тех пор, пока не закрыли диалоговое окно. Когда немодальное диалоговое окно активно, фокус ввода может быть направлен другому окну вашей программы. Таким образом, другие части вашей программы остаются активными и доступными. Диалоговые окна обслуживает класс Dialog. Обычно используются следующие конструкторы класса:

Dialog(Frame parentWindow, boolean mode);

Dialog(Frame parentWindow, String title, boolean mode);

parentWindow– владелец диалогового окна. Если mode имеет значение true, диалоговое окно является модальным. Иначе, оно– немодальное. Заголовок диалогового окна можно передать через параметр title.