Класс GraphicsEnvironment
- java.lang.Object
-
- java.awt.GraphicsEnvironment
public abstract class GraphicsEnvironment extends Object
Класс GraphicsEnvironment описывает набор объектов GraphicsDevice и объектов Font, доступных для Java(tm) приложения на конкретной платформе. Ресурсы в этой GraphicsEnvironment могут быть локальными или на удалённой машине. Объекты GraphicsDevice могут быть экранами, принтерами или буферами изображений и являются местом назначения методов рисования Graphics2D. У каждого объекта GraphicsDevice есть ряд объектов GraphicsConfiguration, которые определяют различные конфигурации, в которых можно использовать GraphicsDevice.
- См. также:
-
GraphicsDevice,GraphicsConfiguration
Конструкторы
| Модификатор | Конструктор и описание |
|---|---|
protected |
GraphicsEnvironment() Это абстрактный класс и не может быть напрямую инстанцирован. |
Методы
| Модификатор и тип | Метод и описание |
|---|---|
abstract Graphics2D |
createGraphics(BufferedImage img) Возвращает объект |
abstract Font[] |
getAllFonts() Возвращает массив, содержащий экземпляр размера одного пункта всех шрифтов, доступных в этой |
abstract String[] |
getAvailableFontFamilyNames() Возвращает массив, содержащий имена всех семейств шрифтов в этой |
abstract String[] |
getAvailableFontFamilyNames(Locale l) Возвращает массив, содержащий имена всех семейств шрифтов в этой |
Point |
getCenterPoint() Возвращает точку, в которой окна должны быть центрированы. |
abstract GraphicsDevice |
getDefaultScreenDevice() Возвращает экран по умолчанию |
static GraphicsEnvironment |
getLocalGraphicsEnvironment() Возвращает локальную |
Rectangle |
getMaximumWindowBounds() Возвращает максимальные границы для центрированных окон. |
abstract GraphicsDevice[] |
getScreenDevices() Возвращает массив всех объектов экрана |
static boolean |
isHeadless() Проверяет, поддерживается ли в этой среде отображение, клавиатура и мышь. |
boolean |
isHeadlessInstance() Возвращает, поддерживается ли в этой графической среде отображение, клавиатура и мышь. |
void |
preferLocaleFonts() Указывает предпочтение шрифтам, специфичным для локали, при сопоставлении логических шрифтов с физическими шрифтами. |
void |
preferProportionalFonts() Указывает предпочтение пропорциональным шрифтам перед непропорциональными (например, |
boolean |
registerFont(Font font) Регистрирует созданный |
Методы, унаследованные от класса java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait Конструкторы
GraphicsEnvironment
protected GraphicsEnvironment()
Это абстрактный класс и его нельзя создать напрямую. Экземпляры должны быть получены из подходящего фабричного метода или метода запроса.
Методы
getLocalGraphicsEnvironment
public static GraphicsEnvironment getLocalGraphicsEnvironment()
Возвращает локальную GraphicsEnvironment.
- Возвращает:
- локальную
GraphicsEnvironment
isHeadless
public static boolean isHeadless()
Проверяет, поддерживается ли в данной среде отображение, клавиатура и мышь. Если этот метод возвращает true, из участков Toolkit и GraphicsEnvironment, зависящих от отображения, клавиатуры или мыши, выбрасывается исключение HeadlessException.
- Возвращает:
-
trueесли эта среда не может поддерживать отображение, клавиатуру и мышь;falseв противном случае - С:
- 1.4
- См. также:
HeadlessException
isHeadlessInstance
public boolean isHeadlessInstance()
Возвращает, поддерживается ли в этой графической среде отображение, клавиатура и мышь. Если это возвращает true, HeadlessException будет брошено из областей графической среды, которые зависят от отображения, клавиатуры или мыши.
- Возвращает:
-
trueесли в этой среде поддерживается отображение, клавиатура и мышь;falseв противном случае - С:
- 1.4
- См. также:
-
HeadlessException,isHeadless()
getScreenDevices
public abstract GraphicsDevice[] getScreenDevices()
throws HeadlessException Возвращает массив всех экранных GraphicsDevice объектов.
- Возвращает:
- массив, содержащий все
GraphicsDeviceобъекты, представляющие экранные устройства - Выбрасывает:
-
HeadlessException- если isHeadless() возвращает true - См. также:
isHeadless()
getDefaultScreenDevice
public abstract GraphicsDevice getDefaultScreenDevice()
throws HeadlessException Возвращает стандартное экранное GraphicsDevice.
- Возвращает:
GraphicsDeviceпредставляющий стандартное экранное устройство- Выбрасывает:
-
HeadlessException- если isHeadless() возвращает true - См. также:
isHeadless()
createGraphics
public abstract Graphics2D createGraphics(BufferedImage img)
Возвращает Graphics2D объект для отрисовки в указанном BufferedImage.
- Параметры:
-
img- указанныйBufferedImage - Возвращает:
Graphics2Dдля отрисовки в указанномBufferedImage- Выбрасывает:
-
NullPointerException- еслиimgравно null
getAllFonts
public abstract Font[] getAllFonts()
Возвращает массив, содержащий экземпляр всех шрифтов с размером в один пункт, доступных в этой GraphicsEnvironment. Типичное использование — позволить пользователю выбрать определённый шрифт. Затем приложение может задать размер шрифта и различные атрибуты шрифта, вызвав метод deriveFont на выбранном экземпляре.
Этот метод предоставляет приложению наиболее точный контроль над тем, какой экземпляр Font используется для отрисовки текста. Если шрифт в этой GraphicsEnvironment имеет несколько программируемых вариантов, в массиве возвращается только один экземпляр этого Font, а другие варианты должен выводить приложение.
Если шрифт в этой среде имеет несколько программируемых вариантов, таких как шрифты Multiple-Master, в массиве Font возвращается только один экземпляр этого шрифта. Другие варианты должны быть получены приложением.
- Возвращает:
- массив
Fontобъектов - С:
- 1.2
- См. также:
-
getAvailableFontFamilyNames(),Font,Font.deriveFont(int, float),Font.getFontName()
getAvailableFontFamilyNames
public abstract String[] getAvailableFontFamilyNames()
Возвращает массив, содержащий имена всех семейств шрифтов в этой GraphicsEnvironment, локализованные для системного языка, как возвращает Locale.getDefault().
Типичное использование — для представления пользователю для выбора определённого имени семейства. Затем приложение может указать это имя при создании шрифта, совместно со стилем, таким как жирный или курсивный, что даёт системе шрифтов возможность выбрать наиболее подходящий вариант среди множества шрифтов в том же семействе шрифтов.
- Возвращает:
- массив
Stringсодержащий имена семейств шрифтов, локализованных для системного языка, или подходящее альтернативное имя, если для этого языка нет имени. - С:
- 1.2
- См. также:
-
getAllFonts(),Font,Font.getFamily()
getAvailableFontFamilyNames
public abstract String[] getAvailableFontFamilyNames(Locale l)
Возвращает массив, содержащий имена всех семейств шрифтов в этой GraphicsEnvironment локализованных для указанного языка.
Типичное использование — для представления пользователю для выбора определённого имени семейства. Затем приложение может указать это имя при создании шрифта, совместно со стилем, таким как жирный или курсивный, что даёт системе шрифтов возможность выбрать наиболее подходящий вариант среди множества шрифтов в том же семействе шрифтов.
- Параметры:
-
l- объектLocale, представляющий определённый географический, политический или культурный регион. Указаниеnullэквивалентно указаниюLocale.getDefault(). - Возвращает:
- массив
Stringсодержащий имена семейств шрифтов, локализованных для указанногоLocale, или подходящее альтернативное имя, если для этого языка нет имени. - С:
- 1.2
- См. также:
-
getAllFonts(),Font,Font.getFamily()
registerFont
public boolean registerFont(Font font)
Регистрирует созданный Font в этой GraphicsEnvironment. Созданный шрифт — это шрифт, который был возвращён при вызове Font.createFont(int, java.io.InputStream), или получен из созданного шрифта вызовом Font.deriveFont(int, float). После вызова этого метода для такого шрифта, он доступен для использования при построении новых Font по имени или имени семейства, и перечисляется методами getAvailableFontFamilyNames() и getAllFonts() в контексте выполнения этого приложения или аплета. Это означает, что апплеты не могут регистрировать шрифты таким образом, чтобы они были видны другим апплетам.
Причины, по которым этот метод может не зарегистрировать шрифт и, следовательно, вернуть false, следующие:
- Шрифт не является созданным
Font. - Шрифт конфликтует с уже зарегистрированным, не-созданным
Fontв этойGraphicsEnvironment. Например, если имя относится к системному шрифту или логическому шрифту, как описано в документации классаFont. Реализация определяет, может ли шрифт конфликтовать, если у него то же имя семейства, что и у системного шрифта.Обратите внимание, что приложение может заменить регистрацию ранее созданного шрифта новым.
- Возвращает:
- true, если
fontуспешно зарегистрирован в этойGraphicsEnvironment. - Выбрасывает:
-
NullPointerException- еслиfontравно null - С:
- 1.6
preferLocaleFonts
public void preferLocaleFonts()
Указывает предпочтение локальным шрифтам при сопоставлении логических шрифтов с физическими. Вызов этого метода указывает, что отрисовка шрифтов должна в первую очередь использовать шрифты, специфичные для основного языка написания (определяемый по умолчанию кодировкой и начальной локалью). Например, если основным языком написания является японский, то символы должны отрисовываться с использованием японского шрифта, если это возможно, и другие шрифты должны использоваться только для символов, для которых японский шрифт не имеет глифов.
Фактическое изменение поведения отрисовки шрифтов в результате вызова этого метода зависит от реализации; оно может вообще не повлиять, или желаемое поведение может уже соответствовать по умолчанию. Поведение может отличаться между отрисовкой шрифтов в лёгких и связанных компонентах. Поскольку вызов этого метода запрашивает другой шрифт, клиенты должны ожидать других метрик и, возможно, пересчитать размеры окон и макет. Поэтому этот метод должен вызываться до инициализации пользовательского интерфейса.
- С:
- 1.5
preferProportionalFonts
public void preferProportionalFonts()
Указывает предпочтение пропорциональным шрифтам над непропорциональными (например, шрифтами CJK с двойным интервалом) при сопоставлении логических шрифтов с физическими. Если в стандартном сопоставлении содержатся шрифты, для которых существуют пропорциональные и непропорциональные варианты, то вызов этого метода указывает на то, что сопоставление должно использовать пропорциональный вариант.
Фактическое изменение поведения отрисовки шрифтов в результате вызова этого метода зависит от реализации; оно может вообще не повлиять. Поведение может отличаться между отрисовкой шрифтов в лёгких и связанных компонентах. Поскольку вызов этого метода запрашивает другой шрифт, клиенты должны ожидать других метрик и, возможно, пересчитать размеры окон и макет. Поэтому этот метод должен вызываться до инициализации пользовательского интерфейса.
- С:
- 1.5
getCenterPoint
public Point getCenterPoint()
throws HeadlessException Возвращает точку, где должны центрироваться окна. Рекомендуется проверять центрированные окна, чтобы убедиться, что они помещаются в доступную область отображения, используя getMaximumWindowBounds().
- Возвращает:
- точку, где должны центрироваться окна
- Выбрасывает:
-
HeadlessException- если isHeadless() возвращает true - С:
- 1.4
- См. также:
getMaximumWindowBounds()
getMaximumWindowBounds
public Rectangle getMaximumWindowBounds()
throws HeadlessException Возвращает максимальные границы для центрированных окон. Эти границы учитывают объекты в родной системе окон, такие как панели задач и панели меню. Возвращаемые границы будут находиться на одном экране, за исключением одного случая: в системах с несколькими экранами, где окна должны быть центрированы на всех экранах, этот метод возвращает границы всей области экрана.
Чтобы получить используемые границы одного экрана, используйте GraphicsConfiguration.getBounds() и Toolkit.getScreenInsets().
- Возвращает:
- максимальные границы для центрированных окон
- Имеет исключения:
-
HeadlessException- если isHeadless() возвращает true - С:
- 1.4
- См. также:
-
getCenterPoint(),GraphicsConfiguration.getBounds(),Toolkit.getScreenInsets(java.awt.GraphicsConfiguration)
© 1993, 2020, Oracle and/or its affiliates. All rights reserved.
Documentation extracted from Debian's OpenJDK Development Kit package.
Licensed under the GNU General Public License, version 2, with the Classpath Exception.
Various third party code in OpenJDK is licensed under different licenses (see Debian package).
Java and OpenJDK are trademarks or registered trademarks of Oracle and/or its affiliates.