Пожалуйста, учтите, что спецификации и другая информация, содержащаяся здесь, не являются заключительными и могут быть изменены. Информация доступна для вас исключительно ради ознакомления.
 Платформа Java™
Стандарт Эд. 8

Проект сборка-b92

Пакет javax.swing.plaf.synth

Синтезатор является стилем со сменными окнами, в котором делегируется все рисование.

См.: Описание

Пакет javax.swing.plaf.synth Описание

Синтезатор является стилем со сменными окнами, в котором делегируется все рисование. Синтезатор не обеспечивает взгляд значения по умолчанию. Чтобы использовать Синтезатор, Вы должны определить файл, или обеспечить a SynthStyleFactory. Оба параметра конфигурации требуют понимания архитектуры синтезатора, которая описывается ниже, так же как понимание архитектуры Swing.

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

Синтезатор

Каждый ComponentUI реализация в Синтезаторе связывает себя с одним SynthStyle на Region, больше всего Components только имейте тот Region и для этого только один SynthStyle. SynthStyle используется, чтобы получить доступ ко всему стилю связанные свойства: шрифты, цвета и другой Component свойства. Кроме того, SynthStyles используются, чтобы получить SynthPainters для рисования фона, границы, фокуса и других частей a Component. ComponentUIs получают SynthStyles от a SynthStyleFactory. A SynthStyleFactory посредством можно обеспечить непосредственно SynthLookAndFeel.setStyleFactory(javax.swing.plaf.synth.SynthStyleFactory), или косвенно посредством SynthLookAndFeel.load(java.io.InputStream, java.lang.Class<?>). Следующий пример использует SynthLookAndFeel.load() метод, чтобы сконфигурировать a SynthLookAndFeel и наборы это как текущий стиль:

  SynthLookAndFeel laf = new SynthLookAndFeel();
  laf.load(MyClass.class.getResourceAsStream("laf.xml"), MyClass.class);
  UIManager.setLookAndFeel(laf);
      

Многие JComponents разламываются на мелкие кусочки и идентифицируются безопасным с точки зрения типов перечислением в Region. Например, a JTabbedPane состоит из a Region для JTabbedPane (Region.TABBED_PANE), область контента (Region.TABBED_PANE_CONTENT), область позади вкладок (Region.TABBED_PANE_TAB_AREA), и вкладки (Region.TABBED_PANE_TAB). Каждый Region из каждого JComponent будет иметь a SynthStyle. Это позволяет Вам настраивать отдельные части каждой области каждого JComponent.

Многие из методов Synth берут a SynthContext. Это используется, чтобы предоставить информацию о токе Component и включает: SynthStyle связанный с током Region, состояние Component как битовая маска (обращаются к SynthConstants для допустимых состояний), и a Region идентификация части Component быть нарисованным.

Весь текстовый рендеринг не -JTextComponents делегируется к a SynthGraphicsUtils, который получается, используя SynthStyle метод SynthStyle.getGraphicsUtils(javax.swing.plaf.synth.SynthContext). Можно настроить текстовый рендеринг, предоставляя Ваше собственное SynthGraphicsUtils.

Примечания по определенным компонентам

JTree

Синтезатор обеспечивает область для ячеек дерева: Region.TREE_CELL. Чтобы определить цвета средства рендеринга, Вы будете хотеть обеспечить стиль для TREE_CELL область. Следующее иллюстрирует это:

  <style id="treeCellStyle">
    <opaque value="TRUE"/>
    <state>
      <color value="WHITE" type="TEXT_FOREGROUND"/>
      <color value="RED" type="TEXT_BACKGROUND"/>
    </state>
    <state value="SELECTED">
      <color value="RED" type="TEXT_FOREGROUND"/>
      <color value="WHITE" type="BACKGROUND"/>
    </state>
  </style>
  <bind style="treeCellStyle" type="region" key="TreeCell"/>

Это определяет цветовую комбинацию красных на белом, когда выбрано, и белый на красном, если не выбранном. Чтобы видеть фон, Вы должны определить, что метки не непрозрачны. Следующий фрагмент XML делает это:

  <style id="labelStyle">
    <opaque value="FALSE"/>
  </style>
  <bind style="labelStyle" type="region" key="Label"/>

JList и JTable

Цвета, что средства рендеринга для JList и использования JTable определяются посредством табличных Областей и списка. Следующий фрагмент XML иллюстрирует, как определить красный на белом, когда выбрано, и белый на красном, если не выбранном:

  <style id="style">
    <opaque value="TRUE"/>
    <state>
      <color value="WHITE" type="TEXT_FOREGROUND"/>
      <color value="RED" type="TEXT_BACKGROUND"/>
      <color value="RED" type="BACKGROUND"/>
    </state>
    <state value="SELECTED">
      <color value="RED" type="TEXT_FOREGROUND"/>
      <color value="WHITE" type="TEXT_BACKGROUND"/>
    </state>
  </style>
  <bind style="style" type="region" key="Table"/>
  <bind style="style" type="region" key="List"/>
 Платформа Java™
Стандарт Эд. 8

Проект сборка-b92

Представьте ошибку или функцию
Для дальнейшей ссылки API и документации разработчика, см. Java Документация SE. Та документация содержит более подробные, предназначенные разработчиком описания, с концептуальными краткими обзорами, определениями сроков, обходных решений, и рабочих примеров кода.
Авторское право © 1993, 2013, Oracle и/или его филиалы. Все права защищены.

Проект сборка-b92