Spec-Zone.ru › OpenJDK 27

Класс LookAndFeel

java.lang.Object
javax.swing.LookAndFeel
Непосредственные известные подклассы:
BasicLookAndFeel, MultiLookAndFeel
public abstract class LookAndFeel extends Object
LookAndFeel, как следует из названия, инкапсулирует внешний вид. Помимо установки внешнего вида, большинству разработчиков никогда не требуется напрямую взаимодействовать с LookAndFeel. Как правило, этот класс нужен только разработчикам, создающим пользовательский внешний вид.

Swing построен на основе принципа, согласно которому каждый подкласс JComponent имеет реализацию определенного подкласса ComponentUI. ComponentUI часто называют «пользовательским интерфейсом», «пользовательским интерфейсом компонента» или «делегатом внешнего вида». Подкласс ComponentUI отвечает за предоставление функциональности компонента, специфичной для внешнего вида. Например, для JTree требуется реализация подкласса ComponentUI TreeUI. Реализация конкретного подкласса ComponentUI предоставляется LookAndFeel. Каждый подкласс JComponent указывает необходимый ему подкласс ComponentUI с помощью метода JComponent getUIClassID.

Каждая реализация LookAndFeel должна предоставлять реализацию соответствующего подкласса ComponentUI, задавая значение для каждого идентификатора класса пользовательского интерфейса Swing в объекте UIDefaults, возвращаемом методом getDefaults. Например, BasicLookAndFeel использует BasicTreeUI в качестве конкретной реализации для TreeUI. Это достигается тем, что BasicLookAndFeel предоставляет пару «ключ-значение» "TreeUI"-"javax.swing.plaf.basic.BasicTreeUI" в объекте UIDefaults, возвращаемом методом getDefaults. Подробные сведения о том, как получается реализация подкласса ComponentUI, см. в разделе UIDefaults.getUI(JComponent).

При установке LookAndFeel класс UIManager не проверяет наличие записи для всех идентификаторов классов пользовательского интерфейса. Поэтому будут возникать случайные исключения, если текущий внешний вид не предоставил значение для определенного идентификатора класса пользовательского интерфейса и создан экземпляр подкласса JComponent.

Рекомендации для внешнего вида

Как отмечено в UIManager, каждый LookAndFeel может предоставить набор значений по умолчанию, которые объединяются со значениями по умолчанию разработчика и системы. Некоторым компонентам Swing требуется, чтобы внешний вид предоставлял определенный набор значений по умолчанию. Они документированы в классах, которым требуются соответствующие значения.

Пользовательские интерфейсы компонентов и значения по умолчанию

Всем ComponentUIs обычно требуется задавать различные свойства для JComponent, для которого ComponentUI предоставляет внешний вид. Как правило, это делается при установке ComponentUI для JComponent. Свойство следует задавать, только если разработчик еще не задал его. Для непримитивных значений рекомендуется, чтобы ComponentUI изменял свойство JComponent, только если текущее значение равно null или реализует UIResource. Если текущее значение равно null или реализует UIResource, это означает, что свойство не было задано разработчиком и пользовательский интерфейс может изменить его. Например, BasicButtonUI.installDefaults изменяет шрифт JButton, только если значение, возвращаемое методом button.getFont(), равно null или реализует UIResource. С другой стороны, если button.getFont() вернуло значение non-null, которое не реализует UIResource, то BasicButtonUI.installDefaults не изменит шрифт JButton.

Для примитивных значений, таких как opaque, следует вызывать метод installProperty. installProperty изменяет соответствующее свойство, только если разработчик его не менял.

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

Исключения

Всем методам установки, предоставляемым LookAndFeel, требуется обращаться к значениям по умолчанию, если значение изменяемого свойства равно null или является UIResource. Например, при установке шрифта выполняются следующие действия:
  JComponent c;
  Font font = c.getFont();
  if (font == null || (font instanceof UIResource)) {
      c.setFont(UIManager.getFont("fontKey"));
  }
Если шрифт равен null или является UIResource, таблица значений по умолчанию запрашивается с ключом fontKey. Все методы получения UIDefault's выбрасывают NullPointerException, если им передано значение null. Поэтому, если не указано иное, каждый из различных методов установки класса LookAndFeel выбрасывает NullPointerException, если текущее значение равно null или является UIResource, а предоставленный ключ значения по умолчанию равен null. Кроме того, если не указано иное, все методы install выбрасывают NullPointerException, если им передан компонент null.
Начиная с версии:
1.2

Краткое описание конструкторов

LookAndFeel()
Модификатор Конструктор Описание
protected
Конструктор для вызова подклассами.

Краткое описание методов

Модификатор и тип Метод Описание
UIDefaults getDefaults()
Возвращает значения внешнего вида по умолчанию.
abstract String getDescription()
Возвращает однострочное описание этой реализации внешнего вида, например
static Object getDesktopPropertyValue(String systemPropertyName, Object fallbackValue)
Возвращает значение указанного системного свойства рабочего стола, вызывая Toolkit.getDefaultToolkit().getDesktopProperty().
Icon getDisabledIcon(JComponent component, Icon icon)
Возвращает Icon с отключенным оформлением.
Icon getDisabledSelectedIcon(JComponent component, Icon icon)
Возвращает Icon для использования отключенными компонентами, которые также выбраны.
abstract String getID()
Возвращает строку, идентифицирующую этот внешний вид.
LayoutStyle getLayoutStyle()
Возвращает LayoutStyle для этого внешнего вида.
abstract String getName()
Возвращает короткую строку, идентифицирующую этот внешний вид, например
boolean getSupportsWindowDecorations()
Возвращает true, если экземпляры LookAndFeel, возвращаемые методом RootPaneUI, поддерживают предоставление Window оформления в JRootPane.
void initialize()
Инициализирует внешний вид.
static void installBorder(JComponent c, String defaultBorderName)
Вспомогательный метод для установки свойства границы компонента со значением из набора значений по умолчанию.
static void installColors(JComponent c, String defaultBgName, String defaultFgName)
Вспомогательный метод для установки свойств цвета переднего плана и фона компонента со значениями из набора значений по умолчанию.
static void installColorsAndFont(JComponent c, String defaultBgName, String defaultFgName, String defaultFontName)
Вспомогательный метод для установки свойств цвета переднего плана, фона и шрифта компонента со значениями из набора значений по умолчанию.
static void installProperty(JComponent c, String propertyName, Object propertyValue)
Вспомогательный метод для установки на компоненте свойства с указанным именем и значением, если разработчик еще не задал это свойство.
abstract boolean isNativeLookAndFeel()
Если базовая платформа имеет «нативный» внешний вид и это его реализация, возвращает true.
abstract boolean isSupportedLookAndFeel()
Возвращает true, если базовая платформа поддерживает этот внешний вид и/или разрешает его использование.
static void loadKeyBindings(InputMap retMap, Object[] keys)
Заполняет InputMap указанными привязками.
static ComponentInputMap makeComponentInputMap(JComponent c, Object[] keys)
Создает ComponentInputMapUIResource из keys.
static Object makeIcon(Class<?> baseClass, String gifFile)
Создает и возвращает UIDefault.LazyValue, загружающий изображение.
static InputMap makeInputMap(Object[] keys)
Создает InputMapUIResource из keys.
static JTextComponent.KeyBinding[] makeKeyBindings(Object[] keyBindingList)
Вспомогательный метод для создания массива KeyBindings.
void provideErrorFeedback(Component component)
Вызывается, когда пользователь пытается выполнить недопустимую операцию, например вставить текст в нередактируемый JTextField, находящийся в фокусе.
String toString()
Возвращает строку, отображающую и описывающую свойства этого объекта.
void uninitialize()
Отменяет инициализацию внешнего вида.
static void uninstallBorder(JComponent c)
Вспомогательный метод для удаления границы.

Методы, объявленные в классе Object

clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
Модификатор и тип Метод Описание
protected Object clone()
Создает и возвращает копию этого объекта.
boolean equals(Object obj)
Показывает, равен ли другой объект этому объекту.
protected void finalize()
Устарело, будет удалено: этот элемент API подлежит удалению в будущей версии.
Финализация объявлена устаревшей и подлежит удалению в одном из будущих выпусков.
final Class<?> getClass()
Возвращает класс времени выполнения этого Object.
int hashCode()
Возвращает хеш-код этого объекта.
final void notify()
Пробуждает один поток, ожидающий на мониторе этого объекта.
final void notifyAll()
Пробуждает все потоки, ожидающие на мониторе этого объекта.
final void wait()
Заставляет текущий поток ожидать пробуждения, обычно после получения уведомления или прерывания.
final void wait(long timeoutMillis)
Заставляет текущий поток ожидать пробуждения, обычно после получения уведомления или прерывания, либо до истечения определенного периода реального времени.
final void wait(long timeoutMillis, int nanos)
Заставляет текущий поток ожидать пробуждения, обычно после получения уведомления или прерывания, либо до истечения определенного периода реального времени.

Подробное описание конструкторов

LookAndFeel

protected LookAndFeel()
Конструктор для вызова подклассами.

Подробное описание методов

installColors

public static void installColors(JComponent c, String defaultBgName, String defaultFgName)
Вспомогательный метод для установки свойств цвета переднего плана и фона компонента с использованием значений по умолчанию. Свойства устанавливаются, только если их текущие значения равны null или являются UIResource.
Параметры:
c — компонент, для которого задаются цвета
defaultBgName — ключ фона
defaultFgName — ключ переднего плана
Исключения:
NullPointerException — см. описание в разделе исключения
См. также:
  • installColorsAndFont(JComponent, String, String, String)
  • UIManager.getColor(Object)

installColorsAndFont

public static void installColorsAndFont(JComponent c, String defaultBgName, String defaultFgName, String defaultFontName)
Вспомогательный метод для установки свойств цвета переднего плана, фона и шрифта компонента с использованием значений по умолчанию. Свойства устанавливаются, только если их текущие значения равны null или являются UIResource.
Параметры:
c — компонент, которому задаются цвета и шрифт
defaultBgName — ключ фона
defaultFgName — ключ переднего плана
defaultFontName — ключ шрифта
Исключения:
NullPointerException — см. описание в разделе исключения
См. также:
  • installColors(JComponent, String, String)
  • UIManager.getColor(Object)
  • UIManager.getFont(Object)

installBorder

public static void installBorder(JComponent c, String defaultBorderName)
Вспомогательный метод для установки свойства границы компонента с использованием значения по умолчанию. Граница устанавливается, только если текущее значение равно null или является экземпляром UIResource.
Параметры:
c — компонент, для которого задаётся граница
defaultBorderName — ключ, задающий границу
Исключения:
NullPointerException — см. описание в разделе исключения

uninstallBorder

public static void uninstallBorder(JComponent c)
Вспомогательный метод для удаления границы. Если граница компонента является UIResource, ей присваивается значение null.
Параметры:
c — компонент, у которого удаляется граница
Исключения:
NullPointerException — если c равно null

installProperty

public static void installProperty(JComponent c, String propertyName, Object propertyValue)
Вспомогательный метод для установки на компоненте свойства с указанным именем и значением, если разработчик ещё не задал это свойство. Этот метод предназначен для использования экземплярами делегатов пользовательского интерфейса, которым необходимо задать значение по умолчанию для свойства примитивного типа (boolean, int, ..), но которые не должны переопределять значение, заданное клиентом. Поскольку значения примитивных свойств нельзя обернуть маркером UIResource, этот метод использует внутреннее состояние, чтобы определить, было ли свойство задано клиентом.
Параметры:
c — целевой компонент, для которого задаётся свойство
propertyName — имя задаваемого свойства
propertyValue — значение свойства
Исключения:
IllegalArgumentException — если указанное свойство нельзя задать с помощью этого метода
ClassCastException — если разработчик не задал значение свойства и его тип не соответствует типу свойства
NullPointerException — если c равно null или разработчик не задал свойство с указанным именем, а propertyValue равно null
С версии:
1.5

makeKeyBindings

public static JTextComponent.KeyBinding[] makeKeyBindings(Object[] keyBindingList)
Вспомогательный метод для создания массива KeyBindings. Хотя этот метод не объявлен устаревшим, разработчикам следует вместо него использовать ActionMap и InputMap для задания привязок клавиш.

Этот метод возвращает массив KeyBindings, по одному элементу для каждой чередующейся пары key-action в keyBindingList. key может быть либо String в формате, указанном методом KeyStroke.getKeyStroke, либо KeyStroke. Часть пары action — это String, соответствующий имени Action.

В следующем примере показано создание массива KeyBinding из шести чередующихся пар key-action:

 JTextComponent.KeyBinding[] multilineBindings = makeKeyBindings( new Object[] {
         "UP", DefaultEditorKit.upAction,
       "DOWN", DefaultEditorKit.downAction,
    "PAGE_UP", DefaultEditorKit.pageUpAction,
  "PAGE_DOWN", DefaultEditorKit.pageDownAction,
      "ENTER", DefaultEditorKit.insertBreakAction,
        "TAB", DefaultEditorKit.insertTabAction
 });
Если длина keyBindingList's нечётная, последний элемент игнорируется.

Указание значения null для части key или action пары key-action приводит к созданию KeyBinding с соответствующим значением null. Поскольку другие части Swing ожидают значения non-null в KeyBinding, не следует указывать null в качестве части key или action пары key-action.

Параметры:
keyBindingList — массив пар key-action
Возвращает:
массив KeyBindings
Исключения:
NullPointerException — если keyBindingList равно null
ClassCastException — если часть пары key не является KeyStroke или String либо часть пары action не является String
См. также:
  • ActionMap
  • InputMap
  • KeyStroke.getKeyStroke(char)

makeInputMap

public static InputMap makeInputMap(Object[] keys)
Создаёт InputMapUIResource из keys. Это вспомогательный метод для создания нового InputMapUIResource, вызова loadKeyBindings(map, keys) и возврата InputMapUIResource.
Параметры:
keys — чередующиеся пары keystroke-action key, описанные в loadKeyBindings(InputMap, Object[])
Возвращает:
созданный и заполненный InputMapUIResource
С версии:
1.3
См. также:
  • loadKeyBindings(InputMap, Object[])

makeComponentInputMap

public static ComponentInputMap makeComponentInputMap(JComponent c, Object[] keys)
Создаёт ComponentInputMapUIResource из keys. Это вспомогательный метод для создания нового ComponentInputMapUIResource, вызова loadKeyBindings(map, keys) и возврата ComponentInputMapUIResource.
Параметры:
c — компонент, с которым создаётся ComponentInputMapUIResource
keys — чередующиеся пары keystroke-action key, описанные в loadKeyBindings(InputMap, Object[])
Возвращает:
созданный и заполненный InputMapUIResource
Исключения:
IllegalArgumentException — если c равно null
С версии:
1.3
См. также:
  • loadKeyBindings(InputMap, Object[])
  • ComponentInputMapUIResource

loadKeyBindings

public static void loadKeyBindings(InputMap retMap, Object[] keys)
Заполняет InputMap указанными привязками. Привязки задаются в виде списка чередующихся пар keystroke-action key. keystroke — это либо экземпляр KeyStroke, либо String, определяющий KeyStroke для привязки. Подробный формат описан в KeyStroke.getKeyStroke(String). Часть пары action key — это ключ, зарегистрированный в InputMap для KeyStroke.

Ниже показана загрузка InputMap с двумя парами key-action:

  LookAndFeel.loadKeyBindings(inputMap, new Object[] {
    "control X", "cut",
    "control V", "paste"
  });

Передача списка привязок null (keys) никак не изменяет retMap.

Указание null action key приводит к удалению записи keystroke's из InputMap. Пара null keystroke игнорируется.

Параметры:
retMap — InputMap, в который добавляются пары key-action
keys — привязки, добавляемые в retMap
Исключения:
NullPointerException — если keys равно non-null, не пусто, а retMap равно null
С версии:
1.3
См. также:
  • KeyStroke.getKeyStroke(String)
  • InputMap

makeIcon

public static Object makeIcon(Class<?> baseClass, String gifFile)
Создаёт и возвращает UIDefault.LazyValue, загружающий изображение. Возвращаемое значение является реализацией UIDefaults.LazyValue. При вызове createValue для возвращённого объекта изображение загружается. Если изображение является non-null, оно затем оборачивается в Icon, реализующий UIResource. Изображение загружается с помощью Class.getResourceAsStream(gifFile).

Этот метод никак не проверяет аргументы. Настоятельно рекомендуется передавать значения non-null, иначе при вызове createValue для возвращённого объекта могут возникнуть исключения.

Параметры:
baseClass — Class, используемый для загрузки ресурса
gifFile — путь к загружаемому изображению
Возвращает:
UIDefaults.LazyValue; при разрешении LazyValue загружает указанное изображение
См. также:
  • UIDefaults.LazyValue
  • Icon
  • Class.getResourceAsStream(String)

getLayoutStyle

public LayoutStyle getLayoutStyle()
Возвращает LayoutStyle для этого внешнего вида. Метод никогда не возвращает null.

Обычно не следует использовать LayoutStyle из внешнего вида; вместо этого используйте метод LayoutStyle getInstance.

Возвращает:
LayoutStyle для этого внешнего вида
С версии:
1.6
См. также:
  • LayoutStyle.getInstance()

provideErrorFeedback

public void provideErrorFeedback(Component component)
Вызывается, когда пользователь пытается выполнить недопустимую операцию, например вставить данные в нередактируемый JTextField, находящийся в фокусе. Реализация по умолчанию издаёт звуковой сигнал. Подклассам, которым требуется иное поведение, следует переопределить этот метод и предоставить дополнительную обратную связь.
Параметры:
component — Component, в котором произошла ошибка; может быть равен null, если ошибка напрямую не связана с Component
С версии:
1.4

getDesktopPropertyValue

public static Object getDesktopPropertyValue(String systemPropertyName, Object fallbackValue)
Возвращает значение указанного системного свойства рабочего стола, вызывая Toolkit.getDefaultToolkit().getDesktopProperty(). Если значение указанного свойства равно null, возвращается fallbackValue.
Параметры:
systemPropertyName — имя запрашиваемого системного свойства рабочего стола
fallbackValue — объект, возвращаемый в качестве значения, если системное значение равно null
Возвращает:
текущее значение свойства рабочего стола
С версии:
1.4
См. также:
  • Toolkit.getDesktopProperty(String)

getDisabledIcon

public Icon getDisabledIcon(JComponent component, Icon icon)
Возвращает Icon с отключённым отображением. Этот метод используется для создания отключённого Icon, если оно не было задано. Например, если создать JButton и задать только Icon с помощью setIcon, этот метод будет вызван для создания отключённого Icon. Если null передано как icon, этот метод возвращает null.

Некоторые варианты внешнего вида могут не отображать отключённое Icon; в таком случае они будут игнорировать его.

Параметры:
component — JComponent, которое будет отображать Icon; может быть равно null
icon — Icon, на основе которого создаётся отключённый значок
Возвращает:
отключённое Icon или null, если подходящее Icon создать невозможно
С версии:
1.5

getDisabledSelectedIcon

public Icon getDisabledSelectedIcon(JComponent component, Icon icon)
Возвращает Icon для отключённых и одновременно выбранных компонентов. Этот метод используется для создания Icon для компонентов, находящихся одновременно в отключённом и выбранном состояниях, если для этого состояния не задано отдельное Icon. Например, если создать JButton и задать только Icon с помощью setIcon, этот метод будет вызван для создания отключённого и выбранного Icon. Если null передано как icon, этот метод возвращает null.

Некоторые варианты внешнего вида могут не отображать отключённое и выбранное Icon; в таком случае они будут игнорировать его.

Параметры:
component — JComponent, которое будет отображать Icon; может быть равно null
icon — Icon, на основе которого создаётся отключённый и выбранный значок
Возвращает:
отключённый и выбранный значок или null, если подходящее Icon создать невозможно.
С версии:
1.5

getName

public abstract String getName()
Возвращает короткую строку, идентифицирующую этот внешний вид, например «CDE/Motif». Эта строка должна подходить для пункта меню. Разные варианты внешнего вида должны иметь разные имена. Например, подкласс MotifLookAndFeel, изменяющий способ отображения нескольких компонентов, следует назвать «CDE/Motif My Way»; имя должно быть полезно пользователю, выбирающему внешний вид из списка.
Возвращает:
краткий идентификатор внешнего вида

getID

public abstract String getID()
Возвращает строку, идентифицирующую этот внешний вид. Эта строка используется приложениями и службами, которым необходимо распознавать широко известные реализации внешнего вида. В настоящее время такими именами являются «Motif», «Windows», «Mac» и «Metal». Обратите внимание: LookAndFeel, производный от широко известного суперкласса и не вносящий фундаментальных изменений во внешний вид и поведение, не должен переопределять этот метод.
Возвращает:
идентификатор внешнего вида

getDescription

public abstract String getDescription()
Возвращает однострочное описание реализации внешнего вида, например «Внешний вид CDE/Motif». Эта строка предназначена для пользователя, например для отображения в заголовке окна или подсказке.
Возвращает:
краткое описание внешнего вида

getSupportsWindowDecorations

public boolean getSupportsWindowDecorations()
Возвращает true, если экземпляры LookAndFeel, возвращаемые RootPaneUI, поддерживают предоставление Window оформления в JRootPane.

Реализация по умолчанию возвращает false. Подклассам, поддерживающим оформление Window, следует переопределить этот метод и возвращать true.

Возвращает:
true, если экземпляры RootPaneUI, созданные этим внешним видом, поддерживают оформление на стороне клиента
С версии:
1.4
См. также:
  • JDialog.setDefaultLookAndFeelDecorated(boolean)
  • JFrame.setDefaultLookAndFeelDecorated(boolean)
  • JRootPane.setWindowDecorationStyle(int)

isNativeLookAndFeel

public abstract boolean isNativeLookAndFeel()
Если на базовой платформе есть «нативный» внешний вид и эта реализация соответствует ему, возвращает true. Например, если базовой платформой является Solaris с CDE, реализация внешнего вида CDE/Motif возвращает true.
Возвращает:
true, если этот внешний вид соответствует внешнему виду базовой платформы

isSupportedLookAndFeel

public abstract boolean isSupportedLookAndFeel()
Возвращает true, если базовая платформа поддерживает этот внешний вид и разрешает его использование. Метод возвращает false, если внешний вид зависит от специальных ресурсов или юридических соглашений, не предусмотренных для текущей платформы.
Возвращает:
true, если этот внешний вид поддерживается
См. также:
  • UIManager.setLookAndFeel(LookAndFeel)

initialize

public void initialize()
Инициализирует внешний вид. Хотя этот метод является открытым, его должен вызывать только UIManager при установке внешнего вида в качестве текущего. Метод вызывается до того, как UIManager вызывает getDefaults. Он предназначен для выполнения инициализации внешнего вида. Подклассам следует выполнять здесь необходимые однократные операции настройки, а не в статическом инициализаторе, поскольку объекты классов внешнего вида могут загружаться только для того, чтобы выяснить, что isSupportedLookAndFeel() возвращает false.
См. также:
  • uninitialize()
  • UIManager.setLookAndFeel(LookAndFeel)

uninitialize

public void uninitialize()
Деинициализирует внешний вид. Хотя этот метод является открытым, его должен вызывать только UIManager при удалении внешнего вида. Например, UIManager.setLookAndFeel вызывает этот метод при смене внешнего вида.

Подклассы могут освободить здесь некоторые ресурсы.

См. также:
  • initialize()
  • UIManager.setLookAndFeel(LookAndFeel)

getDefaults

public UIDefaults getDefaults()
Возвращает значения по умолчанию для внешнего вида. Хотя этот метод является открытым, его должен вызывать только UIManager, когда внешний вид установлен как текущий и после вызова initialize.
Возвращает:
значения по умолчанию для внешнего вида
См. также:
  • initialize()
  • uninitialize()
  • UIManager.setLookAndFeel(LookAndFeel)

toString

public String toString()
Возвращает строку, отображающую и описывающую свойства этого объекта.
Переопределяет:
toString в классе Object
Возвращает:
строковое представление этого объекта

Сообщить об ошибке или предложить улучшение
Дополнительные справочные материалы по API и документацию для разработчиков см. в разделе документация Java SE, содержащем более подробные описания для разработчиков, обзоры концепций, определения терминов, обходные решения и рабочие примеры кода. Другие версии.
Java является товарным знаком или зарегистрированным товарным знаком Oracle и/или её аффилированных лиц в США и других странах.
Авторские права © 1993, 2026, Oracle и/или её аффилированные лица, 500 Oracle Parkway, Redwood Shores, CA 94065 USA.
Все права защищены. Использование регулируется условиями лицензии и политикой распространения документации.

© 1993, 2025, 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.

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API