Чтение онлайн

на главную - закладки

Жанры

Основы программирования на Java

Сухов С. А.

Шрифт:

import java.awt.*;

import j ava. applet. *;

import java.util.*;

public class FlowLayoutDemo extends Applet {

public void init {

setLayout(new FlowLayout(FlowLayout.RIGHT, 10,3));

int width = Integer.parseInt(getParanieter(,,width"));

int height = Integer.parseInt(getParameter("height"));

String val = "Разложим это предложение по словам";

StringTokenizer st = new StringTokenizer(val);

while (st.hasMoreTokens) {

add(new Button(st.nextToken));

}

}

}

12.13.3.
Стратегия BorderLayout

Класс BorderLayout реализует обычный стиль размещения для окон верхнего уровня, в котором предусмотрено четыре узких компонента фиксированной ширины по краям и одна большая область в центре, которая может расширяться и сужаться в двух направлениях, занимая все свободное пространство окна. У каждой из этих областей есть строки-имена: String.North, String. South, String.East и String.West соответствуют четырем краям, a Center — центральной области. Ниже приведен пример BorderLayout с компонентом в каждой из названных областей.

import java.awt.*;

import j ava.applet. *;

import java.util.*;

public class BorderLayoutDemo extends Applet

{

public void init {

setLayout(new BorderLayout);

int width = Integer.parseInt(getParameter("width"));

int height = Integer.parseInt(getParameter("height"));

add("North", new Button("Вверху"));

add(" South", new Label("Внизу"));

add("East", new Button("Слева"));

add("West", new Button ("Справа"));

String msg = "Пример показывает " +

"как компоненты размещаются\n" +

"по сторонам света.\n\n";

add("Center", new TextArea(msg));

}}

12.13.4. Стратегия GridLayout

Класс GridLayout размещает компоненты в простой равномерной сетке. Конструктор этого класса позволяет задавать количество строк и столбцов. Ниже приведен пример, в котором GridLayout используется для создания сетки 4x4, 15 квадратов из 16 заполняются кнопками, помеченными соответствующими индексами. Как вы уже, наверное, поняли, это панель для игры в «пятнашки».

import j ava.awt. *;

import java.applet. *;

public class GridLayoutDemo extends Applet {

static final int n = 4;

public void init

{

setLayout(new GridLayout(n, n));

setFont(new Font("Helvetica", Font.BOLD, 24));

int width = Integer.parseInt(getParameter("width"));

int height = Integer.parseInt(getParameter("height"));

for (int i = 0; i < n; i++) {

for (int j = 0; j < n; j++) {

intk = i * n + j;

if (k > 0)

add(new Button("" + k));

}

}

}

12.14.
Программирование окон - Window

Класс Window во многом напоминает Panel за тем исключением, что он создает свое собственное окно верхнего уровня. В основном используется не непосредственно класс Window, а его подкласс Frame. Frame — это как раз то, что обычно и считают окном на рабочей поверхности экрана. У объекта Frame есть строка с заголовком, управляющие элементы для изменения размера и линейка меню. Для того чтобы вывести (спрятать) изображение объекта Frame, нужно использовать методы show и hide. Ниже приведен пример апплета, который показывает объект Frame с содержащимся в нем компонентом TextArea.

import java.awt. *;

import java.applet.*;

public class FrameDemo extends Applet {

public void init {

int width = lnteger.parseInt(getParameter("width"));

int height = Integer.parseInt(getParameter("height"));

String val = "Это учебное пособие " + "предназначено для ознакомления\n"

+ "с основами программирования на \n"

+ "объектно-ориентированном языке Java.\n\n";

TextArea text = new TextArea(val, 80,40);

Frame f = new Frame("Demo Frame");

f.setSize(width, height);

f.add("Center", text);

f.show;

}

}

12.15. Программирование меню

С каждым окном верхнего уровня может быть связана линейка меню. Объект MenuBar может включать в себя несколько объектов Menu. Последние, в свою очередь, содержат в себе список вариантов выбора — объектов MenuItem. Menu — подкласс MenuItem, так что объекты Menu также могут включаться в этот список, что позволяет создавать иерархически вложенные подменю. Вот пример, в котором к окну добавлены несколько вложенных меню.

import java.awt.*;

import java.applet. *;

public class MenuDemo extends Applet

{

public void init

{

int width = Integer.parseInt(getParameter("width"));

int height = Integer.parseInt(getParameter("height"));

Frame f = new Frame("Demo Frame");

f.setSize(width, height);

MenuBar mbar = new MenuBar;

f. setMenuBar(mbar);

Menu file = new Menu("Файл");

file.add(new MenuItem("Новый..."));

file.add(newMenuItem("Открыть..."));

file.add(newMenuItem(“Закрыть”));

file.add(new Menultem("-"));

file.add(new MenuItem ("Выход..."));

mbar.add(file);

Menu edit = new Menu("Правка");

edit.add(newMenuItem("Bырeзaть"));

Поделиться:
Популярные книги

Печать Пожирателя

Соломенный Илья
1. Пожиратель
Фантастика:
попаданцы
аниме
сказочная фантастика
фэнтези
5.00
рейтинг книги
Печать Пожирателя

Привет из Загса. Милый, ты не потерял кольцо?

Лисавчук Елена
Любовные романы:
современные любовные романы
5.00
рейтинг книги
Привет из Загса. Милый, ты не потерял кольцо?

Мастер 2

Чащин Валерий
2. Мастер
Фантастика:
фэнтези
городское фэнтези
попаданцы
технофэнтези
4.50
рейтинг книги
Мастер 2

Нечто чудесное

Макнот Джудит
2. Романтическая серия
Любовные романы:
исторические любовные романы
9.43
рейтинг книги
Нечто чудесное

Клан

Русич Антон
2. Долгий путь домой
Фантастика:
боевая фантастика
космическая фантастика
5.60
рейтинг книги
Клан

Имя нам Легион. Том 3

Дорничев Дмитрий
3. Меж двух миров
Фантастика:
боевая фантастика
рпг
аниме
5.00
рейтинг книги
Имя нам Легион. Том 3

Запасная дочь

Зика Натаэль
Фантастика:
фэнтези
6.40
рейтинг книги
Запасная дочь

Убивать чтобы жить 7

Бор Жорж
7. УЧЖ
Фантастика:
героическая фантастика
космическая фантастика
рпг
5.00
рейтинг книги
Убивать чтобы жить 7

У врага за пазухой

Коваленко Марья Сергеевна
5. Оголенные чувства
Любовные романы:
остросюжетные любовные романы
эро литература
5.00
рейтинг книги
У врага за пазухой

Кодекс Охотника. Книга XXI

Винокуров Юрий
21. Кодекс Охотника
Фантастика:
фэнтези
попаданцы
аниме
5.00
рейтинг книги
Кодекс Охотника. Книга XXI

Генерал Скала и ученица

Суббота Светлана
2. Генерал Скала и Лидия
Любовные романы:
любовно-фантастические романы
6.30
рейтинг книги
Генерал Скала и ученица

Оцифрованный. Том 1

Дорничев Дмитрий
1. Линкор Михаил
Фантастика:
боевая фантастика
попаданцы
аниме
5.00
рейтинг книги
Оцифрованный. Том 1

Его маленькая большая женщина

Резник Юлия
Любовные романы:
современные любовные романы
эро литература
8.78
рейтинг книги
Его маленькая большая женщина

Хуррит

Рави Ивар
Фантастика:
героическая фантастика
попаданцы
альтернативная история
5.00
рейтинг книги
Хуррит