С. Сухов - Основы программирования на Java

Скачивание начинается... Если скачивание не началось автоматически, пожалуйста нажмите на эту ссылку.
Жалоба
Напишите нам, и мы в срочном порядке примем меры.
Описание книги "Основы программирования на Java"
Описание и краткое содержание "Основы программирования на Java" читать бесплатно онлайн.
Учебное пособие разработано в соответствии с программой курса «Информатика» и предназначено для студентов радиотехнического факультета, но может использоваться и студентами других специальностей. Рассматриваются вопросы программирования на языке Java.
Направлено на закрепление знаний по курсу «Информатика», читаемого по специальности 210406 «Сети связи и системы коммутации». Учебное пособие подготовлено на кафедре «САПР».
import java.awt.*;
import java.applet.*;
public class ScrollbarDemo extends Applet {
public void init() {
setLayout(null);
int width = Integer.parseInt(getParameter(“width”));
int height = Integer. parseInt(getParameter(“height"));
Scrollbar hs = new Scrollbar(Scrollbar.HORIZONTAL, 50, width / 10, 0,100);
Scrollbar vs = new Scrollbar(Scrollbar.VERTICAL, 50, height / 2,0,100);
add(hs);
add(vs);
int thickness =16;
hs.reshape(0, height - thickness, width - thickness, thickness);
vs.reshape(width - thickness, 0, thickness, height - thickness);
}
}
12.11. Класс TextFieldКласс TextField представляет собой реализацию однострочной области для ввода текста. Такие области часто используются в формах для пользовательского ввода. Вы можете «заморозить» содержимое объекта TextField с помощью метода setEditable, а метод isEditable сообщит вам, можно ли редактировать текст в данном объекте. Текущее значение объекта можно получить методом getText и установить методом setText. С помощью метода select можно выбрать фрагмент строки, задавая его начало и конец, отсчитываемые с нуля. Для выбора всей строки используется метод selectAll.
Метод setEchoChar задает символ, который будет выводиться вместо любых вводимых символов. Вы можете проверить, находится ли объект TextField в этом режиме, с помощью метода echoCharlsSet и узнать, какой именно символ задан для эхо-печати, с помощью метода getEchoChar. Вот пример, в котором создаются классические поля для имени пользователя и пароля.
import java.awt.*;
import java.applet.*;
public class TextFieldDemo extends Applet {
public void init() {
setLayout(null);
int width = Integer.parseInt(getParameter("width"));
int height = Integer.parseInt(getParameter(“height"));
Label namep = new Label("Name : ", Label.RIGHT);
Label passp = new Label("Password :”, Label.RIGHT);
TextField name = new Text Field(8);
TextField pass = new TextField(8);
pass.setEchoChar('*');
add(namep);
add(name);
add(passp);
add(pass);
int space = 25;
int wl = width / 3;
namep.setBounds(0, (height - space) / 2, wl, space);
name.setBounds(wl, (height - space) / 2, wl, space);
passp.setBounds(0, (height + space) / 2, wl, space);
pass.setBounds(wl, (height + space) / 2, wl, space);
}
}
12.12. Класс TextAreaПорой одной строки текста оказывается недостаточно для конкретной задачи. AWT включает в себя очень простой многострочный редактор обычного текста, называемый TextArea. Конструктор класса TextArea воспринимает значение типа String в качестве начального текста объекта. Кроме того, в конструкторе указывается число колонок и строк текста, которые нужно выводить. Есть три метода, которые позволяют программе модифицировать содержимое объекта TextArea: appendText добавляет параметр типа String в конец буфера; insertText вставляет строку в заданное отсчитываемым от нуля индексом место в буфере; replaceText копирует строку-параметр в буфер, замещая ею текст, хранящийся в буфере между первым и вторым параметрами-смещениями. Ниже приведена программа, создающая объект TextArea и вставляющая в него строку.
import java.awt.*;
import java.applet.*;
public class TextAreaDemo extends Applet {
public void init() {
setLayout(null);
int width = Integer.parseInt(getParameter(“width"));
int height = Integer.parseInt(getParameter("height"));
String val = "Хочешь быть великим - " + "стань им.\n" +
"Только в начале\n" + "победи сам себя\n" +
"и в первую очередь\n" + "свою лень.\n\n";
TextArea text = new TextArea(val, 80,40); add(text);
text.setBounds(0,0, width, height);
}
}
12.13. Стратегии размещения компонентовВсе компоненты, с которыми мы работали до сих пор в этой главе, размещались «вручную». И в каждом примере мы вызывали загадочный метод setLayout(null). Этот вызов запрещал использование предусмотренного по умолчанию механизма управления размещением компонентов. Для решения подобных задач в AWT предусмотрены диспетчеры размещения (layout managers).
12.13.1. Диспетчер размещения LayoutManager
Каждый класс, реализующий интерфейс LayoutManager, следит за списком компонентов, которые хранятся с именами типа String. Всякий раз, когда вы добавляете компонент в Panel, диспетчер размещения уведомляется об этом. Если требуется изменить размер объекта Panel, то идет обращение к диспетчеру посредством методов minimumLayoutSize и preferredLayoutSize. В каждом компоненте, который приходится обрабатывать диспетчеру, должны присутствовать реализации методов preferredSize и minimumSize. Эти методы должны возвращать предпочтительный и минимальный размеры для прорисовки компонента, соответственно. Диспетчер размещения по возможности будет пытаться удовлетворить эти запросы, в то же время заботясь о целостности всей картины взаимного расположения компонентов.
В Java есть несколько предопределенных классов — диспетчеров размещения, описываемых ниже.
12.13.2. Стратегия FIowLayoutКласс 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()));
}
}
}
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"
Подписывайтесь на наши страницы в социальных сетях.
Будьте в курсе последних книжных новинок, комментируйте, обсуждайте. Мы ждём Вас!
Похожие книги на "Основы программирования на Java"
Книги похожие на "Основы программирования на Java" читать онлайн или скачать бесплатно полные версии.
Мы рекомендуем Вам зарегистрироваться либо войти на сайт под своим именем.
Отзывы о "С. Сухов - Основы программирования на Java"
Отзывы читателей о книге "Основы программирования на Java", комментарии и мнения людей о произведении.