С. Сухов - Основы программирования на Java
- Название:Основы программирования на Java
- Автор:
- Жанр:
- Издательство:неизвестно
- Год:неизвестен
- ISBN:нет данных
- Рейтинг:
- Избранное:Добавить в избранное
-
Отзывы:
-
Ваша оценка:
С. Сухов - Основы программирования на Java краткое содержание
Учебное пособие разработано в соответствии с программой курса «Информатика» и предназначено для студентов радиотехнического факультета, но может использоваться и студентами других специальностей. Рассматриваются вопросы программирования на языке Java.
Направлено на закрепление знаний по курсу «Информатика», читаемого по специальности 210406 «Сети связи и системы коммутации». Учебное пособие подготовлено на кафедре «САПР».
Основы программирования на Java - читать онлайн бесплатно полную версию (весь текст целиком)
Интервал:
Закладка:
В Java есть несколько предопределенных классов — диспетчеров размещения, описываемых ниже.
Класс FIowLayout реализует простой стиль размещения, при котором компоненты располагаются, начиная с левого верхнего угла, слева направо и сверху вниз. Если в данную строку не помещается очередной компонент, он располагается в левой позиции новой строки. Справа, слева, сверху и снизу компоненты отделяются друг от друга небольшими промежутками. Ширину этого промежутка можно задать в конструкторе FIowLayout. Каждая строка с компонентами выравнивается по левому или правому краю, либо центрируется в зависимости от того, какая из констант LEFT, RIGHT или CENTER была передана конструктору. Режим выравнивания по умолчанию — CENTER, используемая по умолчанию ширина промежутка — 5 пикселей. Ниже приведен пример, в котором в Panel включается несколько компонентов Label. Объект Panel использует FIowLayout с выравниванием RIGHT.
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()));
}
}
}
Класс 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));
}}
Класс 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));
}
}
}
Класс 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();
}
}
С каждым окном верхнего уровня может быть связана линейка меню. Объект 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ть"));
edit. add(new MenuItem("Копировать"));
edit.add(newMenultem("Вставить"));
edit.add(new Menultem("-"));
Menu sub = new Menu("Специальное");
sub.add(new MenuItem ("Первое"));
sub.add(new MenuItem("Bтopoe"));
sub. add(new Menultem("Третье"));
edit.add(sub);
edit.add(new CheckBoxMenuItem("Отладка"));
edit.add(new CheckBoxMenuItem ("Тестирование"));
mbar.add(edit);
f.show();
}
}
Большая часть работы по написанию программ пользовательского интерфейса заключается в определении необходимых взаимодействий. Если операционная система определяет, что была нажата клавиша на клавиатуре или кнопка мыши, ее задача - уведомить об этом соответствующее приложение. Оно, в свою очередь, должно выяснить, какой из компонентов интерфейса связан с данным проявлением активности пользователя, и переслать сообщение ему. Модель обработки событий работает следующим образом. Каждый элемент взаимодействия между интерфейсом пользователя и программой определяется как событие. Классы приложений выясняют свою заинтересованность в некотором, ожидаемом определенным компонентом событии путем опроса компонента и выдачи ему предложения поместить в список сведения о его блоке прослушивания. Когда происходит некоторое событие, источник события уведомляет о нем все зарегистрированные блоки прослушивания.
Читать дальшеИнтервал:
Закладка: