|
Spec-Zone .ru
спецификации, руководства, описания, API
|
public interface Painter<T>
Делегат рисования. Интерфейс Живописца определяет точно один метод, paint. Это используется в ситуациях, где разработчик может изменить подпрограмму рисования компонента, не имея необходимость обращаться к разделению на подклассы компонента. Это также в общем полезно, делая любую форму рисования делегации.
Painters являются просто инкапсуляциями Java2D, кодируют и делают довольно тривиальным, чтобы снова использовать существующий Painters или объединить их вместе. Реализации этого интерфейса также тривиальны, чтобы записать, так, что если невозможно найти a Painter это делает то, в чем Вы нуждаетесь, можно записать один с минимальным усилием. Запись a Painter требует знания Java2D.
A Painter может быть создан с параметром типа. Этот тип будет ожидаться в paint метод. Например, можно хотеть записать a Painter тот единственные работы с подклассами Component. В этом случае, когда Painter объявляется, можно объявить, что это требует a Component, разрешение метода краски быть безопасным с точки зрения типов. Исключая:
Painter<Component> p = new Painter<Component>() {
public void paint(Graphics2D g, Component c, int width, int height) {
g.setColor(c.getBackground());
//and so forth
}
}
Этот интерфейс не делает гарантий threadsafety.
| Модификатор и Тип | Метод и Описание |
|---|---|
void |
paint(Graphics2D g, T object, int width, int height)
Представляет к данному
Graphics2D объект. |
void paint(Graphics2D g, T object, int width, int height)
Представляет к данному Graphics2D объект. Реализации этого метода могут изменить состояние на Graphics2D, и не обязаны восстанавливать то состояние после завершения. В большинстве случаев рекомендуется, чтобы вызывающая сторона передала в объекте графики царапины. Graphics2D никогда не должен быть нуль.
Государство на графическом объекте можно соблюдать paint метод, но, возможно, не. Например, установка подсказки рендеринга сглаживания на графике может или не может уважаться Painter реализация.
Предоставленный объектный параметр действует как дополнительный параметр конфигурации. Например, это могло иметь тип Component. A Painter это ожидало, что могло тогда состояние чтения от этого Component и используйте состояние для рисования. Например, реализация может считать backgroundColor и использование это.
Обычно, чтобы улучшить возможность многократного использования, самую стандартную Painters игнорируют этот параметр. Они могут таким образом быть снова использованы в любом контексте. object может быть нуль. Реализации не должны бросить NullPointerException, если объектный параметр является нулем.
Наконец, width и height параметры определяют width и height что Painter должен нарисовать в. Более определенно указанный width и height сообщают живописцу, которого это должно нарисовать полностью в пределах этого width и height. Любой определенный пристегивается g param далее ограничит область.
Например, предположите, что у меня есть a Painter реализация, которая тянет градиент. Градиент идет от белого до черного. Это "простирается", чтобы заполнить нарисованную область. Таким образом, если я использую это Painter чтобы нарисовать 500 x 500 областями, крайне левое было бы черным, далекое право будет белым, и гладкий градиент был бы нарисован между. Я мог тогда, без модификации, снова использовать Painter нарисовать область, которая является 20x20 в размере. Эта область также была бы черной слева, белой справа, и гладкий градиент, нарисованный между.
g - Graphics2D, чтобы представить к. Это не должно быть нулем.object - дополнительный параметр конфигурации. Это может быть нулем.width - width области, чтобы нарисовать.height - height области, чтобы нарисовать.
Для дальнейшей ссылки API и документации разработчика, см. Java Документация SE. Та документация содержит более подробные, предназначенные разработчиком описания, с концептуальными краткими обзорами, определениями сроков, обходных решений, и рабочих примеров кода.
Авторское право © 1993, 2013, Oracle и/или его филиалы. Все права защищены.
Проект сборка-b92