Spec-Zone.ru › OpenJDK 21

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

package javax.swing.plaf.synth
Synth — это настраиваемый вид и ощущения, в котором вся отрисовка делегируется. Synth не предоставляет стандартного вида. Для использования Synth необходимо указать файл или предоставить SynthStyleFactory. Оба варианта конфигурации требуют понимания архитектуры Synth, описанной ниже, а также архитектуры Swing.

Если не указано иное, null не является допустимым значением для каких-либо методов, определённых в пакете synth, и, если он передан, приведёт к NullPointerException.

Synth

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

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

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

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

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

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

JTree

Synth предоставляет область для ячеек дерева: 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"/>
 
Пакет Описание
javax.swing.plaf
Предоставляет один интерфейс и множество абстрактных классов, которые Swing использует для обеспечения своих переключаемых возможностей визуального оформления.
javax.swing.plaf.basic
Предоставляет пользовательские интерфейсные объекты, построенные в соответствии со стандартным визуальным оформлением.
javax.swing.plaf.metal
Предоставляет пользовательские интерфейсные объекты, построенные в соответствии с визуальным оформлением Java (ранее кодовое имя Metal), которое является стандартным визуальным оформлением.
javax.swing.plaf.multi
Предоставляет пользовательские интерфейсные объекты, которые объединяют два или более визуальных оформления.
javax.swing.plaf.nimbus
Предоставляет пользовательские интерфейсные объекты, построенные в соответствии с кроссплатформенным визуальным оформлением Nimbus.
Класс Описание
ColorType
Перечисление типов цветов, которые можно получить из стиля.
Region
Отдельная область отрисовки Swing-компонента.
SynthButtonUI
Обеспечивает делегат UI для JButton в Synth L&F.
SynthCheckBoxMenuItemUI
Обеспечивает делегат UI для JCheckBoxMenuItem в Synth L&F.
SynthCheckBoxUI
Обеспечивает делегат UI для JCheckBox в Synth L&F.
SynthColorChooserUI
Обеспечивает делегат UI для JColorChooser в Synth L&F.
SynthComboBoxUI
Обеспечивает делегат UI для JComboBox в Synth L&F.
SynthConstants
Константы, используемые Synth.
SynthContext
Неизменяемый временный объект, содержащий контекстную информацию о Region.
SynthDesktopIconUI
Обеспечивает делегат UI для минимизированной внутренней рамки на рабочем столе.
SynthDesktopPaneUI
Обеспечивает делегат UI для JDesktopPane в Synth L&F.
SynthEditorPaneUI
Обеспечивает делегат UI для JEditorPane в Synth L&F.
SynthFormattedTextFieldUI
Обеспечивает делегат UI для JFormattedTextField в Synth L&F.
SynthGraphicsUtils
Обертка для примитивных графических вызовов.
SynthIcon
Иконка, которой передаётся SynthContext.
SynthInternalFrameUI
Обеспечивает делегат UI для JInternalFrame в Synth L&F.
SynthLabelUI
Обеспечивает делегат UI для JLabel в Synth L&F.
SynthListUI
Обеспечивает делегат UI для JList в Synth L&F.
SynthLookAndFeel
SynthLookAndFeel предоставляет основу для создания настраиваемого внешнего вида.
SynthMenuBarUI
Обеспечивает делегат UI для JMenuBar в Synth L&F.
SynthMenuItemUI
Обеспечивает делегат UI для JMenuItem в Synth L&F.
SynthMenuUI
Обеспечивает делегат UI для JMenu в Synth L&F.
SynthOptionPaneUI
Обеспечивает делегат UI для JOptionPane в Synth L&F.
SynthPainter
SynthPainter используется для отрисовки частей JComponent.
SynthPanelUI
Обеспечивает делегат UI для JPanel в Synth L&F.
SynthPasswordFieldUI
Обеспечивает делегат UI для JPasswordField в Synth L&F.
SynthPopupMenuUI
Обеспечивает делегат UI для JPopupMenu в Synth L&F.
SynthProgressBarUI
Обеспечивает делегат UI для JProgressBar в Synth L&F.
SynthRadioButtonMenuItemUI
Обеспечивает делегат UI для JRadioButtonMenuItem в Synth L&F.
SynthRadioButtonUI
Обеспечивает делегат UI для JRadioButton в Synth L&F.
SynthRootPaneUI
Обеспечивает делегат UI для JRootPane в Synth L&F.
SynthScrollBarUI
Обеспечивает делегат UI для JScrollBar в Synth L&F.
SynthScrollPaneUI
Обеспечивает делегат UI для JScrollPane в Synth L&F.
SynthSeparatorUI
Обеспечивает делегат UI для JSeparator в Synth L&F.
SynthSliderUI
Обеспечивает делегат UI для JSlider в Synth L&F.
SynthSpinnerUI
Обеспечивает делегат UI для JSpinner в Synth L&F.
SynthSplitPaneUI
Обеспечивает делегат UI для JSplitPane в Synth L&F.
SynthStyle
SynthStyle представляет собой набор свойств стиля.
SynthStyleFactory
Фабрика, используемая для получения SynthStyle.
SynthTabbedPaneUI
Обеспечивает делегат UI для JTabbedPane в Synth L&F.
SynthTableHeaderUI
Обеспечивает делегат UI для JTableHeader в Synth L&F.
SynthTableUI
Обеспечивает делегат UI для JTable в Synth L&F.
SynthTextAreaUI
Обеспечивает вид и поведение простого текстового редактора в Synth внешнем виде.
SynthTextFieldUI
Обеспечивает делегат UI для JTextField в Synth L&F.
SynthTextPaneUI
Обеспечивает вид и поведение стилизованного текстового редактора в Synth внешнем виде.
END_OF_DOCUMENT_MARKER
SynthToggleButtonUI
Предоставляет делегата Synth L&F UI для JToggleButton.
SynthToolBarUI
Предоставляет делегата Synth L&F UI для JToolBar.
SynthToolTipUI
Предоставляет делегата Synth L&F UI для JToolTip.
SynthTreeUI
Предоставляет делегата Synth L&F UI для JTree.
SynthUI
SynthUI используется для извлечения SynthContext для конкретного компонента.
SynthViewportUI
Предоставляет делегата Synth L&F UI для JViewport.

© 1993, 2023, 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.
https://docs.oracle.com/en/java/javase/21/docs/api/java.desktop/javax/swing/plaf/synth/package-summary.html

Spec-Zone.ru

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