Delphi | Сети | ПК | Маршрутизаторы | Моделирование | Протоколы | Экспертные системы | Удаленный доступ | Доменные имена
Аплеты | SQL | Надежность | Задачи | Информационные процессы | JAVA | Отказы изделия | Расчет надежности показателей | Инфсис

Графические примитивы в Java

Интерфейс в языке Java представляет собой "чисто абстрактный класс", т.е. класс, все методы которого являются абстрактными. Производный от интерфейса класс "раскрывает" (implements) интерфейс, предоставляя коды для всех его методов. Класс может расширять только один базовый класс, но раскрывать он может несколько интерфейсов. Переменные интерфейса могут быть только static (т.е., переменные класса, а не объекта) и final (т.е., константы).

 

При создании компонента, т. е. объекта класса Component, автоматически формируется его графический контекст (graphics context). В контексте размещается область рисования и вывода текста и изображений. Контекст содержит текущий и альтернативный цвет рисования и цвет фона — объекты класса color, текущий шрифт для вывода текста — объект класса Font.

В контексте определена система координат, начало которой с координатами (0, 0) расположено в верхнем левом углу области рисования, ось Ох направлена вправо, ось Оу — вниз. Точки координат находятся между пикселами.

Управляет контекстом класс Graphics или новый класс Graphics2D, введенный в Java 2. Поскольку графический контекст сильно зависит от конкретной графической платформы, эти классы сделаны абстрактными. Поэтому нельзя непосредственно создать экземпляры класса Graphics или Graphics2D.

Однако каждая виртуальная машина Java реализует методы этих классов, создает их экземпляры для компонента и предоставляет объект класса Graphics методом getGraphics () класса Component или как аргумент методов

paint() И update().

Посмотрим сначала, какие методы работы с графикой и текстом предоставляет нам класс Graphics.

Методы класса Graphics

При создании контекста в нем задается текущий цвет для рисования, обычно черный, и цвет фона области рисования — белый или серый. Изменить текущий цвет можно методом setcoior (Color newCoior), аргумент newcoior которого — объект класса Color.

Узнать текущий цвет можно методом getcolor (), возвращающим объект класса color.

Задание для самостоятельной работы

Изучите самостоятельно класс KeyEvent, который используется при передаче параметров в обработчики событий мыши (в частности, выясните, что делают методы getKeyText, getKeyCode и getKeyChar, используемые в нашем примере).

Работа с потоками

В терминах операционной системы выполняющиеся программы называются процессами. Процесс можно разбить на отдельно выполняемые подпроцессы, или потоки. Каждый поток выглядит и выполняется так, как если бы он был единственным в программе. Он также может взаимодействовать с другими потоками, но для этого требуется обеспечить контроль доступа к совместно используемым переменным.
Для создания потоков можно использовать разные способы.

Первый способ. Подходит для создания одного потока. В нашем апплете "бегущая строка" перемещается из правого верхнего угла в левый нижний. Мы можем лишь заставить стандартный поток класса Thread "засыпать" на заданное время, другие характеристики потока мы задать не можем.


Для работы с потоком апплет должен раскрывать интерфейс Runnable, например

public class Potok extends Applet implements Runnable

Далее, в рамках апплета нужно создать объект Thread, связав его с апплетом, например,

Thread marqThread = new Thread(this);

и запустить этот поток в методе start апплета:

public void start()
{
marqThread.start();
}

Поскольку данный апплет раскрывает интерфейс Runnable, он должен предоставлять код для его единственного метода run, в котором и определяются основные действия с данным потоком

 

Математический анализ, лекции по физике Компьютерные сети