Программирование на языке Java


Программирование на языке Java


ValueOf
valueOf Если вы имеете дело с каким-либо типом данных и хотите вывести значение этого типа в удобочитаемом виде, сначала придется преобразо-вать это значение в текстовую строку. Для этого существу...
StringBuffer
StringBuffer StringBuffer - близнец класса String, предоставляющий многое из того, что обычно требуется при работе со строками. Объекты класса String представляют собой строки фиксированной длины,...
Конструкторы
Конструкторы Объект StringBuffer можно создать без параметров, при этом в нем будет зарезервировано место для размещения 16 символов без возмож-ности изменения длины строки. Вы также можете переда...
EnsureCapacity
ensureCapacity Если вы после создания объекта StringBuffer захотите зарезервировать в нем место для определенного количества символов, вы можете для установки размера буфера воспользоваться методо...
SetLength
setLength Если вам вдруг понадобится в явном виде установить длину строки в буфере, воспользуйтесь методом setLength. Если вы зададите значение, большее чем длина содержащейся в объекте строки, эт...
CharAt и setCharAt
charAt и setCharAt Одиночный символ может быть извлечен из объекта StringBuffer с помощью метода charAt. Другой метод setCharAt позволяет записать в заданную позицию строки нужный символ. Использо...
Append
append Метод append класса StringBuffer обычно вызывается неявно при ис-пользовании оператора + в выражениях со строками. Для каждого параметра вызывается метод String.valueOf и его результат до-б...
Insert
insert Метод insert идентичен методу append в том смысле, что для каждого возможного типа данных существует своя совмещенная версия этого ме-тода. Правда, в отличие от append, он не добавляет симв...
Глава 10 - Обработка исключений
Глава 10 - Обработка исключений В этой главе обсуждается используемый в Java механизм обработки исключений. Исключение в Java - это объект, который описывает исключительное состояние, воз-никшее в...
Основы
Основы К механизму обработки исключений в Java имеют отношение 5 клю-чевых слов: - try, catch, throw, throws и finally. Схема работы этого механизма следующая. Вы пытаетесь (try) выполнить блок ко...
Типы исключений
Типы исключений В вершине иерархии исключений стоит класс Throwable. Каждый из типов исключений является подклассом класса Throwable. Два непосредственных наследника класса Throwable делят иерархи...
Неперехваченные исключения
Неперехваченные исключения Объекты-исключения автоматически создаются исполняющей средой Java в результате возникновения определенных исключительных состо-яний. Например, очередная наша программа...
Try и catch
try и catch Для задания блока программного кода, который требуется защитить от исключений, исполь-зуется ключевое слово try. Сразу же после try-блока помещается блок catch, задающий тип исключения...
Несколько разделов catch
Несколько разделов catch В некоторых случаях один и тот же блок программного кода может воз-буждать исключения различных типов. Для того, чтобы обрабатывать по-добные ситуации, Java позволяет испо...
Вложенные операторы try
Вложенные операторы try Операторы try можно вкладывать друг в друга аналогично тому, как можно создавать вложенные области видимости переменных. Если у оператора try низкого уровня нет раздела cat...
Throw
throw Оператор throw используется для возбуждения исключения . Для того, чтобы сделать это, нужно иметь объект подкласса клас-са Throwable, который можно либо получить как параметр оператора catch...
Throw ОбъектТипаThrowable;
throw ОбъектТипаThrowable; При достижении этого оператора нормальное выполнение кода немед-ленно прекращается, так что следующий за ним оператор не выполня-ется. Ближайший окружающий блок try пров...
Throws
throws Если метод способен возбуждать исключения, которые он сам не об-рабатывает, он должен объявить о таком поведении, чтобы вызывающие методы могли защитить себя от этих исключений. Для задания...
Finally
finally Иногда требуется гарантировать, что определенный участок кода будет выпол-няться независимо от того, какие исключения были возбуждены и пере-хвачены. Для создания такого участка кода испол...
Подклассы Exception Только подклассы
Подклассы Exception Только подклассы класса Throwable могут быть возбуждены или пере-хвачены. Простые типы - int, char и т.п., а также классы, не являю-щиеся подклассами Throwable, например, Strin...
Глава 11 - Легковесные процессы и синхронизация.
Глава 11 - Легковесные процессы и синхронизация. Параллельное программирование, связанное с использованием легковесных процессов, или подпроцессов (multithreading, light-weight processes) — концеп...
Цикл обработки событий в случае единственного подпроцесса
Цикл обработки событий в случае единственного подпроцесса В системах без параллельных подпроцессов используется подход, называемый циклом обработки событий. В этой модели единственный подпроцесс в...
Модель легковесных процессов в Java
Модель легковесных процессов в Java Исполняющая система Java в многом зависит от использования подпроцессов, и все ее классовые библиотеки написаны с учетом особенностей программирования в условия...
Приоритеты подпроцессов
Приоритеты подпроцессов Приоритеты подпроцессов — это просто целые числа в диапазоне от 1 до 10 и имеет смысл только соотношения приоритетов различных подпроцессов. Приоритеты же используются для...
Синхронизация
Синхронизация Поскольку подпроцессы вносят в ваши программы асинхронное поведение, должен существовать способ их синхронизации. Для этой цели в Java реализовано элегантное развитие старой модели с...
Сообщения
Сообщения Коль скоро вы разделили свою программу на логические части - подпроцессы, вам нужно аккуратно определить, как эти части будут общаться друг с другом. Java предоставляет для этого удобное...
Подпроцесс
Подпроцесс Класс Thread инкапсулирует все средства, которые могут вам потребоваться при работе с подпроцессами. При запуске Java-программы в ней уже есть один выполняющийся подпроцесс. Вы всегда м...
Runnable
Runnable Не очень интересно работать только с одним подпроцессом, а как можно создать еще один? Для этого нам понадобится другой экземпляр класса Thread. При создании нового объекта Thread ему нуж...
Синхронизация
Синхронизация Когда двум или более подпроцессам требуется параллельный доступ к одним и тем же данным (иначе говоря, к совместно используемому ресурсу), нужно позаботиться о том, чтобы в каждый ко...
Взаимодействие подпроцессов
Взаимодействие подпроцессов В Java имеется элегантный механизм общения между подпроцессами, основанный на методах wait, notify и notifyAll. Эти методы реализованы, как final-методы класса Object,...
Клинч (deadlock)
Клинч (deadlock) Клинч - редкая, но очень трудноуловимая ошибка, при которой между двумя легковесными процессами существует кольцевая зависимость от пары синхронизированных объектов. Например, есл...
Методы класса
Методы класса Методы класса - это статические методы, которые можно вызывать непосредственно с именем класса Thread....
CurrentThread
currentThread Статический метод currentThread возвращает объект Thread, выполняющийся в данный момент....
Yield
yield Вызов метода yield приводит к тому, что исполняющая система переключает контекст с текущего на следующий доступный подпроцесс. Это один из способов гарантировать, что низкоприоритетные подпр...
Методы объекта
Методы объекта...
Start
start Метод start говорит исполняющей системе Java, что необходимо создать системный контекст подпроцесса и запустить этот подпроцесс. После вызова этого метода в новом контексте будет вызван мето...
Run
run Метод run - это тело выполняющегося подпроцесса. Это - единственный метод интерфейса Runnable. Он вызывается из метода start после того, как исполняющая среда выполнит необходимые операции по...
Stop
stop Вызов метода stop приводит к немедленной остановке подпроцесса. Это - способ мгновенно прекратить выполнение текущего подпроцесса, особенно если метод выполняется в текущем подпроцессе. В так...
Suspend
suspend Метод suspend отличается от метода stop тем, что метод приостанавливает выполнение подпроцесса, не разрушая при этом его системный контекст. Если выполнение подпроцесса приостановлено вызо...
Resume
resume Метод resume используется для активизации подпроцесса, приостановленного вызовом suspend. При этом не гарантируется, что после вызова resume подпроцесс немедленно начнет выполняться, поскол...
А дорога дальше вьется
А дорога дальше вьется Простые в использовании встроенные в исполняющую среду и в синтаксис Java легковесные процессы - одна из наиболее веских причин, по которым стоит изучать этот язык. Освоив о...
Глава 12 - Утилиты
Глава 12 - Утилиты Библиотека классов языка включает в себя набор вспомогательных классов, широко используемых в других встроенных пакетах Java. Эти классы расположены в пакетах java.lang и java.u...
Простые оболочки для типов.
Простые оболочки для типов. Как вы уже знаете, Java использует встроенные примитивные типы данных, например, int и char ради обеспечения высокой производительности. Эти типы данных не принадлежат...
Number Абстрактный класс Number
Number Абстрактный класс Number представляет собой интерфейс для работы со всеми стандартными скалярными типами: - long, int, float и double. У этого класса есть методы доступа к содержимому объек...
Бесконечность и NaN
Бесконечность и NaN В спецификации IEEE для чисел с вещественной точкой есть два значения типа double, которые трактуются специальным образом: бесконечность и NaN (Not a Number - неопределенность)...
Integer и Long
Integer и Long Класс Integer - класс-оболочка для чисел типов int, short и byte, a класс Long - соответственно для типа long. Помимо наследуемых методов своего суперкласса Number, классы Integer и...
Character
Character Character - простой класс-оболочка типа char. У него есть несколько полезных статических методов, с помощью которых можно выполнять над символом различные проверки и преобразования. isLo...
Boolean
Boolean Класс Boolean - это очень тонкая оболочка вокруг логических значений, она бывает полезна лишь в тех случаях, когда тип boolean требуется передавать по ссылке, а не по значению....
Перечисления
Перечисления В Java для хранения групп однородных данных имеются массивы. Они очень полезны при использовании простых моделей доступа к данным. Перечисления же предлагают более совершенный объектн...
Интерфейс Enumeration
Интерфейс Enumeration Enumeration - простой интерфейс, позволяющий вам обрабатывать элементы любой коллекции объектов. В нем задается два метода. Первый из них - метод hasMoreElements, возвращающи...
Stack
Stack Stack - подкласс класса Vector, который реализует простой механизм типа "первым вошел - первым вышел" (FIFO). В дополнение к стандартным методам своего родительского класса, Stack...
Dictionary
Dictionary Dictionary (словарь) - абстрактный класс, представляющий собой хранилище информации типа "ключ-значение". Ключ - это имя, по которому осуществляется доступ к значению. Имея кл...
HashTable
HashTable HashTable - это подкласс Dictionary, являющийся конкретной реализацией словаря. Представителя класса HashTable можно использовать для хранения произвольных объектов, причем для индексаци...
Properties
Properties Properties - подкласс HashTable, в который для удобства использования добавлено несколько методов, позволяющих получать значения, которые, возможно, не определены в таблице. В методе ge...
StrinsTokenizer
StrinsTokenizer Обработка текста часто подразумевает разбиение текста на последовательность лексем - слов (tokens). Класс StringTokenizer предназначен для такого разбиения, часто называемого лекси...
Runtime Класс Runtime инкапсулирует
Runtime Класс Runtime инкапсулирует интерпретатор Java. Вы не можете создать нового представителя этого класса, но можете, вызвав его статический метод, получить ссылку на работающий в данный моме...
ВНИМАНИЕ!
ВНИМАНИЕ! При необходимости вы можете "вручную" запустить сборщик мусора, вызвав метод gc. Если вы хотите оценить, сколько памяти требуется для работы вашему коду, лучше всего сначала вы...
Выполнение других программ
Выполнение других программ В безопасных средах вы можете использовать Java для выполнения других полновесных процессов в своей многозадачной операционной системе. Несколько форм метода ехес позвол...
System
System Класс System содержит любопытную коллекцию глобальных функций и переменных. В большинстве примеров этой книге для операций вывода мы использовали метод System.out.println(). В следующей гла...
Свойства окружения
Свойства окружения Исполняющая среда Java предоставляет доступ к переменным окружения через представителя класса Properties (описанного ранее в этой главе), с которым можно работать с помощью мето...
Date
Date Класс Date используется для операций с датой и временем. Через него вы можете получить доступ к дате, месяцу, году, дню недели, часам, минутам, секундам. У объектов этого класса - несколько к...
Get и set
get и set Класс Date включает в себя набор методов для получения и установки отдельных атрибутов, хранящихся в объекте. Каждая из функций семейства get - getYear, getMonth, getDate, getDay, getHou...
Сравнение 3 Если у вас есть два
Сравнение 3 Если у вас есть два объекта типа Date, и вы хотите их сравнить, то можете преобразовать хранящиеся в них даты в значения типа long, и сравнить полученные даты, выраженные в миллисекунд...
Math
Math Класс Math содержит функции с плавающей точкой, которые используются в геометрии и тригонометрии. Кроме того, в нем есть две константы, используемые в такого рода вычислениях: - Е (приблизите...
Тригонометрические функции
Тригонометрические функции Приведенные ниже три функции имеют один параметр типа double, представляющий собой угол в радианах, и возвращают значение соответствующей тригонометрической функции. sin...
Степенные, показательные и логарифмические функции
Степенные, показательные и логарифмические функции pow(double у, double x) возвращает у, возведенное в степень х. Так, например, pow(2.0, 3.0) равно 8.0. exp(double х) возвращает е в степени х. lo...
Округление
Округление ceil(double а) возвращает наименьшее целое число, значение которого больше или равно а. floor(double а) возвращает наибольшее целое число, значение которого меньше или равно а. rint(dou...
Random
Random Класс Random - это генератор псевдослучайных чисел. Используемый в нем алгоритм был взят из раздела 3.2.1 "Искусства программирования" Дональда Кнута. Обычно в качестве начального...
Счет за услуги
Счет за услуги В пакете java.util есть еще несколько классов по работе с битами, различными форматами дат и архивами (подкаталог zip). Структуры данных и системные интерфейсы, которые вы изучили в...
Глава 14 - Сетевые средства
Глава 14 - Сетевые средства Эта глава посвящена описанию пакета java.net. Java поддерживает протокол TCP/IP, во-первых, расширяя свой интерфейс потоков ввода-вывода, описанного в предыдущей главе,...
InetAddress
InetAddress Java поддерживает адреса абонентов, принятые в Internet, с помощью класса InetAddress. Для адресации в Internet используются служебные функции, работающие с обычными, легко запоминающи...
Фабричные методы
Фабричные методы В классе InetAddress нет доступных пользователю конструкторов. Для создания объектов этого класса нужно воспользоваться одним из его фабричных методов. Фабричные методы - это обыч...
Дейтаграммы
Дейтаграммы Дейтаграммы, или пакеты протокола UDP (User Datagram Protocol) - это пакеты информации, пересылаемые в сети по принципу "fire-and-forget" (выстрелил и забыл). Если вам надо д...
Сокеты "для клиентов"
Сокеты "для клиентов" TCP/IP-сокеты используются для реализации надежных двунаправленных, ориентированных на работу с потоками соединений точка-точка между узлами Internet. Сокеты можно...
Сокеты "для серверов"
Сокеты "для серверов" Как уже упоминалось ранее, Java поддерживает сокеты серверов. Для создания серверов Internet надо использовать объекты класса ServerSocket. Когда вы создаете объект...
URL
URL URL (Uniform Resource Locators - однородные указатели ресурсов) - являются наиболее фундаментальным компонентом "Всемирной паутины". Класс URL предоставляет простой и лаконичный прог...
URL(String spec)
URL(String spec) Две следующих разновидности конструкторов позволяют задать URL, указав его отдельные компоненты: URL(String protocol, String host, int port, String file) URL(String protocol, Stri...
URL(URL context, String spec)
URL(URL context, String spec) В приведенном ниже примере создается URL, адресующий www-страницу (поставьте туда свой адрес), после чего программа печатает свойства этого объекта. import java.net.U...
URLConnection
URLConnection URLConnection - объект, который мы используем либо для проверки свойств удаленного ресурса, адресуемого URL, либо для получения его содержимого. В приведенном ниже примере мы создаем...
Сеть и только сеть
Сеть и только сеть Сетевые классы Java предоставляют ясный и простой в использовании интерфейс для работы в Internet. Фундамент, заложенный в пакете java.net - хорошая база для дальнейшего развити...
Глава 15 - Апплеты
Глава 15 - Апплеты Апплеты - это маленькие приложения, которые размещаются на серверах Internet, транспортируются клиенту по сети, автоматически устанавливаются и запускаются на месте, как часть д...
Тег HTML <Applet>
Тег HTML <Applet> Тег &ltapplet> используется для запуска апплета как из HTML-документа, так и из программы appletviewer. Программа appletviewer выполняет каждый найденный ей тег <...
CODE = appletClassFile
CODE = appletClassFile CODE - обязательный атрибут, задающий имя файла, в котором содержится оттранслированный код апплета. Имя файла задается относительно codebase, то есть либо от текущего катал...
OBJECT = appletClassSerialFile
OBJECT = appletClassSerialFile Указывает имя файла, содержащего сериализованный апплет, из которого последний будет восстановлен. При запуске определяемого таким образом апплета должен вызываться...
WIDTH = pixels
WIDTH = pixels...
HEIGHT = pixels
HEIGHT = pixels WIDTH и HEIGHT - обязательные атрибуты, задающие начальный размер видимой области апплета....
ARCHIVE = jarFiles
ARCHIVE = jarFiles Задает список jar-файлов (разделяется запятыми), которые предварительно загружаются в Web-броузер. В этих архивных файлах могут содержаться файлы классов, изображения, звуки и л...
CODEBASE = codebaseURL
CODEBASE = codebaseURL CODEBASE - необязательный атрибут, задающий базовый URL кода апплета, являющийся каталогом, в котором будет выполняться поиск исполняемого файла апплета (задаваемого в призн...
ALT = alternateAppletText
ALT = alternateAppletText Признак ALT - необязательный атрибут, задающий короткое текстовое сообщение, которое должно быть выведено в том случае, если используемый браузер распознает синтаксис тег...
NAME = appletInstanceName
NAME = appletInstanceName NAME - необязательный атрибут, используемый для задания имени для данного экземпляра апплета. Присвоение апплетам имен необходимо для того, чтобы другие апплеты на этой ж...
ALIGN = alignment
ALIGN = alignment ALIGN - необязательный атрибут, задающий стиль выравнивания апплета. Этот атрибут трактуется так же, как в теге IMG, возможные его значения - LEFT, RIGHT, TOP, TEXTTOP, MIDDLE, A...
VSPACE = pixels
VSPACE = pixels HSPACE = PIXELS Эти необязательные атрибуты задают ширину свободного пространства в пикселях сверху и снизу апплета (VSPACE), и слева и справа от него (HSPACE). Они трактуются точн...
PARAM NAME = appletAttribute1 VALUE = value1
PARAM NAME = appletAttribute1 VALUE = value1 1 Этот тег дает возможность передавать из HTML-страницы апплету необходимые ему аргументы. Апплеты получают эти атрибуты, вызывая метод getParameter(),...
Передача параметров
Передача параметров getParameter(String) Метод getParameter возвращает значение типа String, соответствующее указанному имени параметра. Если вам в качестве параметра требуется значение какого-л...
Контекст апплета
Контекст апплета...
GetDocumentBase и getCodeBase
getDocumentBase и getCodeBase Возможно, Вы будете писать апплеты, которым понадобится явно загружать данные и текст. Java позволяет апплету загружать данные из каталога, в котором располагается HT...
AppletContext и showDocument
AppletContext и showDocument AppletContext представляет собой средства, позволяющие получать информацию об окружении работающего апплета. Метод showDocument приводит к тому, что заданный его парам...
Отладочная печать
Отладочная печать Отладочную печать можно выводить в два места: на консоль и в статусную строку программы просмотра апплетов. Для того, чтобы вывести сообщение на консоль, надо написать: System.o...
Порядок инициализации апплета
Порядок инициализации апплета Ниже приведен порядок, в котором вызываются методы класса Applet, с пояснениями, нужно или нет переопределять данный метод....
Init
init Метод init вызывается первым. В нем вы должны инициализировать свои переменные....
Start
start Метод start вызывается сразу же после метода init. Он также используется в качестве стартовой точки для возобновления работы после того, как апплет был остановлен. В то время, как метод init...
Paint
paint Метод paint вызывается каждый раз при повреждении апплета. AWT следит за состоянием окон в системе и замечает такие случаи, как, например, перекрытие окна апплета другим окном. В таких случа...
Update
update Используемый по умолчанию метод update класса Applet сначала закрашивает апплет цветом фона по умолчанию, после чего вызывает метод paint. Если вы в методе paint заполняете фон другим цвето...
Stop
stop Метод stop вызывается в тот момент, когда браузер покидает HTML-документ, содержащий апплет. При вызове метода stop апплет еще работает. Вы должны использовать этот метод для приостановки тех...
Destroy
destroy Метод destroy вызывается тогда, когда среда (например, браузер Netscape) решает, что апплет нужно полностью удалить из памяти. В этом методе нужно освободить все ресурсы, которые использов...
Перерисовка
Перерисовка Возвратимся к апплету HelloWorldApplet. В нем мы заместили метод paint, что позволило апплету выполнить отрисовку. В классе Applet предусмотрены дополнительные методы рисования, позвол...
Repaint
repaint Метод repaint используется для принудительного перерисовывания апплета. Этот метод, в свою очередь, вызывает метод update. Однако, если ваша система медленная или сильно загружена, метод u...
Задание размеров графических изображений.
Задание размеров графических изображений. Графические изображения вычерчиваются в стандартной для компьютерной графики системе координат, в которой координаты могут принимать только целые значения...
DrawLine
drawLine drawline(int x1, int у1, int х2, int у2) Этот метод вычерчивает отрезок прямой между точками с координатами (х1,у1) и (х2,у2). Эти линии представляют собой простые прямые толщиной в 1 п...
DrawArc и fillArc
drawArc и fillArc Форма методов drawArc и fillArc следующая: drawArc(int x, int у, int width, int height, int startAngle, int sweepAngle) Эти методы вычерчивают (fillArc заполняет) дугу, огранич...
DrawPolyson и fillPolyson
drawPolyson и fillPolyson Прототипы для этих методов: drawPolygon(int[], int[], int) fillPolygon(int[], int[], int) Метод drawPolygon рисует контур многоугольника (ломаную линию), задаваемого дв...
Цвет
Цвет Цветовая система AWT разрабатывалась так, чтобы была возможность работы со всеми цветами. После того, как цвет задан, Java отыскивает в диапазоне цветов дисплея тот, который ему больше всего...
Методы класса Color
Методы класса Color HSBtoRGB(float, float, float) RGBtoHSB(int, int, int, float[1) HSBtoRGB преобразует цвет, заданный оттенком, насыщенностью и яркостью (HSB), в целое число в формате RGB, гот...
SetPaintMode() и setXORMode(Color)
setPaintMode() и setXORMode(Color) Режим отрисовки paint - используемый по умолчанию метод заполнения графических изображений, при котором цвет пикселей изменяется на заданный. XOR устанавливает р...
Шрифты
Шрифты Библиотека AWT обеспечивает большую гибкость при работе со шрифтами благодаря предоставлению соответствующих абстракций и возможности динамического выбора шрифтов. Вот очень короткая програ...
DrawString
drawString В предыдущих примерах использовался метод drawString(String, x, у). Этот метод выводит строку с использованием текущих шрифта и цвета. Точка с координатами (х,у) соответствует левой гра...
Использование шрифтов
Использование шрифтов Конструктор класса Font создает новый шрифт с указанным именем, стилем и размером в пунктах: Font StrongFont = new Font("Helvetica", Font.BOLD|Font.ITALIC, 24); В...
GetFamily и getName
getFamily и getName Метод getFamily возвращает строку с именем семейства шрифтов. С помощью метода getName можно получить логическое имя шрифта....
GetSize
getSize Этот метод возвращает целое число, представляющее собой размер шрифта в пунктах....
GetStyle
getStyle Этот метод возвращает целое число, соответствующее стилю шрифта. Полученный результат можно побитово сравнить со статическими переменными класса Font: - PLAIN, BOLD и ITALIC....
IsBold, isItalic, isPlain
isBold, isItalic, isPlainЭти методы возвращают true в том случае, если стиль шрифта - полужирный (bold), курсив (italic) или обычный (plain), соответственно....
Позиционирование и шрифты: FontMetrics
Позиционирование и шрифты: FontMetrics В Java используются различные шрифты, а класс FontMetrics позволяет программисту точно задавать положение выводимого в апплете текста. Прежде всего нам нужно...
StringWidth
stringWidth Этот метод возвращает длину заданной строки для данного шрифта....
BytesWidth, charsWidth
bytesWidth, charsWidth Эти методы возвращают ширину указанного массива байтов для текущего шрифта....
GetAscent, getDescent, getHeight
getAscent, getDescent, getHeight Эти методы возвращают подъем, снижение и ширину шрифта. Сумма подъема и снижения дают полную высоту шрифта. Высота шрифта - это не просто расстояние от самой нижне...
GetMaxAscent и getMaxDescent
getMaxAscent и getMaxDescent Эти методы служат для получения максимальных подъема и снижения всех символов в шрифте....
Центрирование текста
Центрирование текста Давайте теперь воспользуемся методами объекта FontMetrics для получения подъема, снижения и длины строки, которую требуется нарисовать, и с помощью полученных значений отцентр...
Глава 16 - Набор абстракций для работы с окнами
Глава 16 - Набор абстракций для работы с окнами Трудность при создании независимой от платформы библиотеки заключается в том, что ее разработчикам либо приходится требовать, чтобы все приложения н...
Компоненты
Компоненты Component - это абстрактный класс, который инкапсулирует все атрибуты визуального интерфейса - обработка ввода с клавиатуры, управление фокусом, взаимодействие с мышью, уведомление о вх...
Container
Container Container - это абстрактный подкласс класса Component, определяющий дополнительные методы, которые дают возможность помещать в него другие компоненты, что дает возможность построения иер...
Panel
Panel Класс Panel - это очень простая специализация класса Container. В отличие от последнего, он не является абстрактным классом. Поэтому о Panel можно думать, как о допускающем рекурсивную вложе...
Canvas
Canvas Основная идея использования объектов Canvas в том, что они являются семантически свободными компонентами. Вы можете придать объекту Canvas любое поведение и любой желаемый внешний вид. Его...
Label
Label Функциональность класса Label сводится к тому, что он знает, как нарисовать объект String - текстовую строку, выровняв ее нужным образом. Шрифт и цвет, которыми отрисовывается строка метки,...
Button
Button Объекты-кнопки помечаются строками, причем эти строки нельзя выравнивать подобно строкам объектов Label (они всегда центрируются внутри кнопки). Позднее в данной главе речь пойдет о том, ка...
Checkbox
Checkbox Класс Checkbox часто используется для выбора одной из двух возможностей. При создании объекта Checkbox ему передается текст метки и логическое значение, чтобы задать исходное состояние ок...
CheckboxGroup
CheckboxGroup Второй параметр конструктора Checkbox (в предыдущем примере мы ставили там null) используется для группирования нескольких объектов Checkbox. Для этого сначала создается объект Check...
Choice
Choice Класс Choice (выбор) используется при создании раскрывающихся списочных меню (выпадающих списков типа ComboBox в Windows). Компонент Choice занимает ровно столько места, сколько требуется д...
List
List Класс List представляет собой компактный список с возможностью выбора нескольких вариантов и с прокруткой (аналог ListBox в Windows). Ниже приведен пример с двумя списками выбора, один из кот...
Scrollbar
Scrollbar Объекты Scrollbar (линейки прокрутки) используются для выбора подмножества значений между заданными минимумом и максимумом. Визуально у линейки прокрутки есть несколько органов управлени...
TextField
TextField Класс TextField представляет собой реализацию однострочной области для ввода текста. Такие области часто используются в формах для пользовательского ввода. Вы можете "заморозить&quo...
TextArea
TextArea Порой одной строки текста оказывается недостаточно для конкретной задачи. AWT включает в себя очень простой многострочный редактор обычного текста, называемый TextArea. Конструктор класса...
Layout
Layout Все компоненты, с которыми мы работали до сих пор в этой главе, размещались "вручную". И в каждом примере мы вызывали загадочный метод setLayout(null). Этот вызов запрещал использ...
LayoutManager.
LayoutManager. Каждый класс, реализующий интерфейс LayoutManager, следит за списком компонентов, которые хранятся с именами типа String. Всякий раз, когда вы добавляете компонент в Panel, диспетче...
FlowLayout
FlowLayout Класс FlowLayout реализует простой стиль размещения, при котором компоненты располагаются, начиная с левого верхнего угла, слева направо и сверху вниз. Если в данную строку не помещаетс...
BorderLayout
BorderLayout Класс BorderLayout реализует обычный стиль размещения для окон верхнего уровня, в котором предусмотрено четыре узких компонента фиксированной ширины по краям, и одна большая область в...
GridLayout
GridLayout Класс GridLayout размещает компоненты в простой равномерной сетке. Конструктор этого класса позволяет задавать количество строк и столбцов. Ниже приведен пример, в котором GridLayout ис...
Insets
Insets Класс Insets используется для того, чтобы вставлять в объект Panel границы, напоминающие горизонтальные и вертикальные промежутки между объектами, которые делает диспетчер размещения. Для т...
CardLayout
CardLayout Класс CardLayout по своему уникален. Он отличается от других программ управления размещением компонентов тем, что представляет несколько различных вариантов размещения, которые можно ср...
Window
Window Класс Window во многом напоминает Panel за тем исключением, что он создает свое собственное окно верхнего уровня. Большая часть программистов скорее всего будет использовать не непосредстве...
Frame
Frame Frame - это как раз то, что обычно и считают окном на рабочей поверхности экрана. У объекта Frame есть строка с заголовком, управляющие элементы для изменения размера и линейка меню. Для тог...








Начало