
- •9. Библиотека .Net Framework и библиотеки языка Java
- •9.1. Приложение
- •9.2. Классы, объекты и элементы приложения
- •9.3. Простейшие приложения
- •9.4. Сообщения Windows, события и делегаты
- •9.4.1. Обработка событий мыши на языке c#
- •9.4.3. Обработка событий мыши на языке Java с использованием предопределённого обработчика mouseDown
- •9.4.4. Связь события с несколькими объектами на языке c#
- •Ещё раз о событиях и уведомлении в языке Java
- •9.5.1. Обработка событий элементов интерфейса пользователя в языке Java
- •Обработка событий мыши на языке Java, используя интерфейс MouseListener
- •9.5.3. Обработка событий мыши на языке Java, используя классы адаптеров
- •9.5.4. Обработка событий мыши на языке Java, используя внутренние классы адаптеров и анонимные классы
- •9.5.5. Обработка события закрытия окна
- •Графика
- •9.6.1. Графические объекты
- •Прямоугольник
- •Класс Pen
- •Класс SolidBrush
- •Класс Font
- •Класс Graphics
- •9.7. Событие Paint и его обработчик
- •9.8. Управляющие элементы
- •Класс Button
- •Классы TextBox и TextField
- •Классы UserControl и Panel
- •9.9. Дочерние окна
- •9.10. Исключения
Класс Pen
C# и C++/CLI. Управляемый класс Pen используется для создания объектов-перьев (pens), определяющих стиль, толщину и цвет линий для рисования линий и кривых.
Конструкторы класса Pen
Pen (Color color); // C++/CLI и C#
Pen (Color color, float width)); // C++/CLI и C#
Pen ( Brush ^brush, float width, )); // C++/CLI
Pen ( Brush brush, float width, )); // C#
создают перья с заданным цветом color, шириной width (по умолчанию ширина равна 1). Цвет color может быть задействован из кисти brush - объекта класса Brush (Brush - базовый класс для кистей).
Класс Pen имеет ряд свойств, например, Color для установки или получения цвета пера и Width для установки и получения ширины пера.
Объекты класса Pen широко применяются в качестве аргументов функций рисования класса Graphics, например, в функции DrawEllipse().
Создать и модифицировать перо можно следующим образом:
С++/CLI
Pen ^pPen1= gcnew Pen (Color::Black); // Создать чёрное перо с шириной 1
pPen1 -> Color= Color::Green; // Перо стало зелёным
pPen1 -> Width= 5; // и с шириной, равной 5
Pen ^pPen2= gcnew Pen (Color::Green, 5);// Создать зелёное перо с шириной 5
Pen ^pPen3= gcnew Pen (gcnew SolidBrush(Color::Green), 5); // Создать
// зелёное перо с шириной 5
Color color= Color::Red;
Pen ^pPen4= gcnew Pen (color, 5); // Создать красное перо с шириной 5
С#.
Pen pen1= new Pen (Color.Black); // Создано чёрное перо с шириной 1
pen1.Color= Color.Green; // Перо стало зелёным
pen1.Width= 5; // и с шириной, равной 5
Pen pen2= new Pen (Color.Green, 5); // Создать зелёное перо с шириной 5
Класс имеет много свойств и функций.
Java. В языке Java перо не используется.
Класс SolidBrush
C++/CLI и C#. Управляемый класс SolidBrush, порождённый из базового класса Brush, используется для создания объектов-кистей, применяемых при закрашивании фона окон или внутри фигур.
Конструктор класса
SolidBrush (Color color);
имеет единственный параметр color типа Color, определяющий цвет созданной кисти.
Класс SolidBrush имеет свойство Color, позволяющее установить и получить цвет кисти:
C++/CLI.
SolidBrush ^pBrush= gcnew SolidBrush (Color::Black); // Создать чёрную кисть
pBrush -> Color= Color::Red; // и сделать красной
Pen ^pPen5= gcnew Pen (pBrush, 5); // Создать красное перо с шириной 5
C#.
SolidBrush brush= new SolidBrush (Color.Black); // Создать чёрную кисть
brush.Color= Color.Red; // и сделать красной
Java. В языке Java кисть не используется.
Класс Font
Объектами класса Font представляются шрифты с указанными названиями, размерами и стилями.
Класс Font содержит перегруженные конструкторы и, в частности:
C++/CLI.
Font (String ^name, float size);
Font (String ^name, float size, FontStyle style);
C#.
Font (string name, float size);
Font (string name, float size, FontStyle style);
Java.
Font (String name, int style, int size);
где
name - название шрифта,
size - размер шрифта,
style - стиль шрифта ( Bold -жирный, Italic– курсив и др.)
Шрифт можно задать так:
C++/CLI.
Font ^pFont= gcnew Font (“Verdana”, 15);
C#.
Font font= new Font (“Ariel”, 20, FontStyle.Italic);
Java.
Font f1= new Font ("Courier", Font.BOLD, 50);
Замечание: Обратите внимание на отличия в списке аргументов конструкторов языков C# (C++/CLI) и Java.