Рейтинговые книги
Читем онлайн Графические интерфейсы пользователя Java - Тимур Сергеевич Машнин

Шрифт:

-
+

Интервал:

-
+

Закладка:

Сделать
1 ... 43 44 45 46 47 48 49 50 51 ... 59
приведению значений свойств width и height к значению (2 * radius +1).

Свойство input класса InnerShadow может определять в качестве входа другой эффект Effect, создавая, таким образом, цепочку эффектов.

Приведенный здесь код демонстрирует узел Text с тенью InnerShadow и панелью слайдеров, с помощью которых можно изменять такие свойства тени как radius, choke, offsetX и offsetY.

Здесь все тоже самое, что и для внешней тени DropShadow, только для внутренней тени.

BoxBlur-эффект обеспечивает эффект размытия на основе раздвоения исходного изображения узла Node, с возможностью регулировки горизонтального и вертикального раздвоения изображения и количества итераций эффекта.

Регулировка горизонтального и вертикального раздвоения исходного изображения осуществляется с помощью определения значения свойств width и height (от 0.0 до 255.0, по умолчанию 5.0) класса BoxBlur, а количество итераций эффекта (от 0 до 3, по умолчанию 1) определяется значением свойства iterations класса BoxBlur.

Свойство input класса BoxBlur может определять в качестве входа другой эффект Effect, создавая, таким образом, цепочку эффектов.

Приведенный здесь код демонстрирует кнопку Button с эффектом BoxBlur, свойство горизонтального раздвоения которого, а также свойство прозрачности кнопки, изменяются со временем с использованием анимации.

Здесь мы создаем кнопку, к которой присоединяем эффект размытия.

Ширина размытия меняется от 0 до 50 пикселей.

MotionBlur-эффект обеспечивает эффект размытия исходного изображения узла Node, с возможностью регулировки радиуса фильтра размытия от 0.0 до 63.0 (по умолчанию 10.0) и угла фильтра размытия, описывающего направление движения, создавая, таким образом, иллюзию движения исходного изображения.

Регулировка радиуса фильтра размытия осуществляется с помощью определения значения свойства radius класса MotionBlur, а угол фильтра размытия определяется значением свойства angle класса MotionBlur.

Свойство input класса MotionBlur может определять в качестве входа другой эффект Effect, создавая, таким образом, цепочку эффектов.

Приведенный здесь код демонстрирует панель TitledPane, при развертывании или свертывании которой к содержимому панели присоединяется эффект MotionBlur, создавая иллюзию движения содержимого панели TitledPane.

Здесь мы создаем эффект движения и присоединяем его к панели при нажатии кнопки раскрытия панели.

Это делается в слушателе свойства expanded панели, которое меняется при нажатии кнопки раскрытия панели.

GaussianBlur-эффект обеспечивает эффект размытия на основе Gaussian-фильтра размытия исходного изображения узла Node, с возможностью регулировки радиуса эффекта размытия от 0.0 до 63.0 (по умолчанию 10.0).

Регулировка радиуса фильтра размытия осуществляется с помощью определения значения свойства radius класса GaussianBlur.

Свойство input класса GaussianBlur может определять в качестве входа другой эффект Effect, создавая, таким образом, цепочку эффектов.

Приведенный здесь код демонстрирует кнопку Button с эффектом GaussianBlur, свойство радиуса фильтра размытия которого, а также свойство прозрачности кнопки, изменяются со временем с использованием анимации.

Здесь мы создаем эффект размытия и присоединяем его к кнопке.

Радиус размытия меняется со временем.

ColorAdjust-эффект обеспечивает эффект изменения оттенка, насыщенности, яркости и контраста исходного изображения узла Node.

Изменение оттенка, насыщенности, яркости и контраста исходного изображения осуществляется с помощью изменения значения (от -1.0 до +1.0, по умолчанию 0.0) свойств hue, saturation, brightness и contrast класса ColorAdjust.

Свойство input класса ColorAdjust может определять в качестве входа другой эффект Effect, создавая, таким образом, цепочку эффектов.

Приведенный здесь код демонстрирует кнопку ToggleButton, к которой в нажатом состоянии присоединяется эффект ColorAdjust, изменяющий цвет графического содержимого кнопки.

Здесь мы создаем эффект изменения параметров цвета и присоединяем его к кнопке в нажатом состоянии.

DisplacementMap-эффект обеспечивает смещение каждого пикселя исходного изображения узла Node, согласно карте смещения, дополнительно накладывая эффекты общего масштабирования и сдвига.

Карту смещения FloatMap определяет свойство mapData класса DisplacementMap.

FloatMap-карта создается с помощью конструктора и имеет свойства width (ширина карты в пикселях) и height (высота карты в пикселях).

Заполняется FloatMap-карта с помощью метода setSamples класса FloatMap.

Свойства scaleX, scaleY, offsetX и offsetY класса DisplacementMap определяют горизонтальное и вертикальное масштабирование, горизонтальный и вертикальный сдвиг.

С помощью свойства wrap класса DisplacementMap устанавливается повторение карты смещения за ее границами.

Свойство input класса DisplacementMap может определять в качестве входа другой эффект Effect, создавая, таким образом, цепочку эффектов.

DisplacementMap-эффект позволяет создавать из простых двухмерных объектов сложные геометрические формы.

Приведенный здесь код демонстрирует узел с DisplacementMap-эффектом, карта смещения которого изменяется со временем с использованием таймера анимации, создавая иллюзию движения изображения.

Здесь мы создаем две карты.

Первая карта смещает пиксели по оси y по синусоиде, а вторая карта пиксели по оси y по обратной синусоиде.

Меняя периодически две карты, мы создаем иллюзию движения.

Lighting-эффект обеспечивает освещение исходного изображения узла Node, источниками света различного типа, создавая иллюзию трехмерного отображения для исходного двухмерного объекта.

Источник света, освещающий исходное изображение, определяется свойством light класса Lighting, которое может принимать значения объектов Distant, Point и Spot, – это соответственно удаленный источник света, точечный источник света и сфокусированный источник света.

Классы Distant, Point и Spot расширяют базовый класс Light, при этом классы Distant и Point расширяют его напрямую, а класс Spot является расширением класса Point.

Базовый класс Light имеет единственное свойство color – цвет источника света, по умолчанию Color. WHITE.

Класс Distant представляет равномерно светящийся удаленный источник света и имеет свойства azimuth (угол направления света в плоскости XY) и elevation (угол направления света в плоскости YZ).

Класс Point представляет простой точечный источник света и имеет свойства x, y, z – координаты источника света.

Класс Spot представляет источник света с направлением и фокусом, позволяющим осветить определенное место на экране, и имеет свойства pointsAtX, pointsAtY, pointsAtZ (координаты вектора направления источника света) и specularExponent (параметр фокуса от 0.0 до 4.0, по умолчанию 1.0).

Свойство bumpInput определяет дополнительную карту поверхности. По умолчанию, графическое изображение узла, к которому прикреплен эффект, используется для создания карты поверхности.

Свойства diffuseConstant, specularConstant, specularExponent и surfaceScale класса Lighting определяют константу рассеивания света от 0.0 до 2.0 (по умолчанию 1.0), константу отражения света от 0.0 до 2.0 (по умолчанию 0.3), экспоненту отражения света от 0.0 до 40.0 (по умолчанию 20.0) и коэффициент глубины поверхности от 0.0 до 10.0 (по умолчанию 1.5).

Свойство contentInput класса Lighting может определять в качестве входа другой эффект Effect, создавая, таким образом, цепочку эффектов.

Приведенный здесь код демонстрирует кнопку Button с Lighting-эффектом и панелью инструментов, позволяющей изменять свойства Lighting-эффекта и освещать кнопку различными источниками света с изменением их свойств.

Здесь мы создаем источники света и эффект освещения.

Создаем кнопку, которую будем освещать.

Создаем панели со слайдерами и панель с кнопками переключения источников света.

В обработчиках этих кнопок мы устанавливаем для эффекта соответствующий источник света.

И изменяем панель со слайдерами, добавляя или удаляя слайдеры для свойств этих источников света.

Задание

Повторите этот пример, создав узел, его освещение и панель со слайдерами для изменения свойств источника света.

PerspectiveTransform-эффект обеспечивает трансформацию координат углов исходного изображения узла Node, создавая иллюзию перспективы для исходного объекта.

Новые координаты углов исходного изображения определяются значениями свойств класса PerspectiveTransform.

llx (новая

1 ... 43 44 45 46 47 48 49 50 51 ... 59
На этой странице вы можете бесплатно читать книгу Графические интерфейсы пользователя Java - Тимур Сергеевич Машнин бесплатно.

Оставить комментарий