mirror of
https://github.com/fofolee/uTools-Manuals.git
synced 2025-07-03 15:22:44 +08:00
48 lines
8.9 KiB
HTML
48 lines
8.9 KiB
HTML
<div class="header">
|
||
<div class="subTitle">
|
||
javax.swing.plaf
|
||
</div>
|
||
<h2 class="title" title="Interface UIResource">Interface UIResource</h2>
|
||
</div><div class="contentContainer">
|
||
<div class="description">
|
||
<ul class="blockList">
|
||
<li class="blockList">
|
||
<dl>
|
||
<dt>
|
||
所有已知实现类:
|
||
</dt>
|
||
<dd>
|
||
<span><a href="../../../javax/swing/plaf/ActionMapUIResource.html" title="javax.swing.plaf中的类">ActionMapUIResource</a> , <a href="../../../javax/swing/plaf/basic/BasicBorders.ButtonBorder.html" title="javax.swing.plaf.basic中的类">BasicBorders.ButtonBorder</a> , <a href="../../../javax/swing/plaf/basic/BasicBorders.FieldBorder.html" title="javax.swing.plaf.basic中的类">BasicBorders.FieldBorder</a> , <a href="../../../javax/swing/plaf/basic/BasicBorders.MarginBorder.html" title="javax.swing.plaf.basic中的类">BasicBorders.MarginBorder</a> , <a href="../../../javax/swing/plaf/basic/BasicBorders.MenuBarBorder.html" title="javax.swing.plaf.basic中的类">BasicBorders.MenuBarBorder</a> , <a href="../../../javax/swing/plaf/basic/BasicBorders.RadioButtonBorder.html" title="javax.swing.plaf.basic中的类">BasicBorders.RadioButtonBorder</a> , <a href="../../../javax/swing/plaf/basic/BasicBorders.RolloverButtonBorder.html" title="javax.swing.plaf.basic中的类">BasicBorders.RolloverButtonBorder</a> , <a href="../../../javax/swing/plaf/basic/BasicBorders.SplitPaneBorder.html" title="javax.swing.plaf.basic中的类">BasicBorders.SplitPaneBorder</a> , <a href="../../../javax/swing/plaf/basic/BasicBorders.ToggleButtonBorder.html" title="javax.swing.plaf.basic中的类">BasicBorders.ToggleButtonBorder</a> , <a href="../../../javax/swing/plaf/basic/BasicComboBoxEditor.UIResource.html" title="javax.swing.plaf.basic中的类">BasicComboBoxEditor.UIResource</a> , <a href="../../../javax/swing/plaf/basic/BasicComboBoxRenderer.UIResource.html" title="javax.swing.plaf.basic中的类">BasicComboBoxRenderer.UIResource</a> , <a href="../../../javax/swing/plaf/basic/BasicTextUI.BasicCaret.html" title="javax.swing.plaf.basic中的类">BasicTextUI.BasicCaret</a> , <a href="../../../javax/swing/plaf/basic/BasicTextUI.BasicHighlighter.html" title="javax.swing.plaf.basic中的类">BasicTextUI.BasicHighlighter</a> , <a href="../../../javax/swing/plaf/BorderUIResource.html" title="javax.swing.plaf中的类">BorderUIResource</a> , <a href="../../../javax/swing/plaf/BorderUIResource.BevelBorderUIResource.html" title="javax.swing.plaf中的类">BorderUIResource.BevelBorderUIResource</a> , <a href="../../../javax/swing/plaf/BorderUIResource.CompoundBorderUIResource.html" title="javax.swing.plaf中的类">BorderUIResource.CompoundBorderUIResource</a> , <a href="../../../javax/swing/plaf/BorderUIResource.EmptyBorderUIResource.html" title="javax.swing.plaf中的类">BorderUIResource.EmptyBorderUIResource</a> , <a href="../../../javax/swing/plaf/BorderUIResource.EtchedBorderUIResource.html" title="javax.swing.plaf中的类">BorderUIResource.EtchedBorderUIResource</a> , <a href="../../../javax/swing/plaf/BorderUIResource.LineBorderUIResource.html" title="javax.swing.plaf中的类">BorderUIResource.LineBorderUIResource</a> , <a href="../../../javax/swing/plaf/BorderUIResource.MatteBorderUIResource.html" title="javax.swing.plaf中的类">BorderUIResource.MatteBorderUIResource</a> , <a href="../../../javax/swing/plaf/BorderUIResource.TitledBorderUIResource.html" title="javax.swing.plaf中的类">BorderUIResource.TitledBorderUIResource</a> , <a href="../../../javax/swing/plaf/ColorUIResource.html" title="javax.swing.plaf中的类">ColorUIResource</a> , <a href="../../../javax/swing/plaf/ComponentInputMapUIResource.html" title="javax.swing.plaf中的类">ComponentInputMapUIResource</a> , <a href="../../../javax/swing/DefaultListCellRenderer.UIResource.html" title="javax.swing中的类">DefaultListCellRenderer.UIResource</a> , <a href="../../../javax/swing/plaf/basic/DefaultMenuLayout.html" title="javax.swing.plaf.basic中的类">DefaultMenuLayout</a> , <a href="../../../javax/swing/table/DefaultTableCellRenderer.UIResource.html" title="javax.swing.table中的类">DefaultTableCellRenderer.UIResource</a> , <a href="../../../javax/swing/plaf/DimensionUIResource.html" title="javax.swing.plaf中的类">DimensionUIResource</a> , <a href="../../../javax/swing/plaf/FontUIResource.html" title="javax.swing.plaf中的类">FontUIResource</a> , <a href="../../../javax/swing/plaf/IconUIResource.html" title="javax.swing.plaf中的类">IconUIResource</a> , <a href="../../../javax/swing/plaf/InputMapUIResource.html" title="javax.swing.plaf中的类">InputMapUIResource</a> , <a href="../../../javax/swing/plaf/InsetsUIResource.html" title="javax.swing.plaf中的类">InsetsUIResource</a> , <a href="../../../javax/swing/JScrollPane.ScrollBar.html" title="javax.swing中的类">JScrollPane.ScrollBar</a> , <a href="../../../javax/swing/plaf/metal/MetalBorders.ButtonBorder.html" title="javax.swing.plaf.metal中的类">MetalBorders.ButtonBorder</a> , <a href="../../../javax/swing/plaf/metal/MetalBorders.Flush3DBorder.html" title="javax.swing.plaf.metal中的类">MetalBorders.Flush3DBorder</a> , <a href="../../../javax/swing/plaf/metal/MetalBorders.InternalFrameBorder.html" title="javax.swing.plaf.metal中的类">MetalBorders.InternalFrameBorder</a> , <a href="../../../javax/swing/plaf/metal/MetalBorders.MenuBarBorder.html" title="javax.swing.plaf.metal中的类">MetalBorders.MenuBarBorder</a> , <a href="../../../javax/swing/plaf/metal/MetalBorders.MenuItemBorder.html" title="javax.swing.plaf.metal中的类">MetalBorders.MenuItemBorder</a> , <a href="../../../javax/swing/plaf/metal/MetalBorders.OptionDialogBorder.html" title="javax.swing.plaf.metal中的类">MetalBorders.OptionDialogBorder</a> , <a href="../../../javax/swing/plaf/metal/MetalBorders.PaletteBorder.html" title="javax.swing.plaf.metal中的类">MetalBorders.PaletteBorder</a> , <a href="../../../javax/swing/plaf/metal/MetalBorders.PopupMenuBorder.html" title="javax.swing.plaf.metal中的类">MetalBorders.PopupMenuBorder</a> , <a href="../../../javax/swing/plaf/metal/MetalBorders.RolloverButtonBorder.html" title="javax.swing.plaf.metal中的类">MetalBorders.RolloverButtonBorder</a> , <a href="../../../javax/swing/plaf/metal/MetalBorders.ScrollPaneBorder.html" title="javax.swing.plaf.metal中的类">MetalBorders.ScrollPaneBorder</a> , <a href="../../../javax/swing/plaf/metal/MetalBorders.TextFieldBorder.html" title="javax.swing.plaf.metal中的类">MetalBorders.TextFieldBorder</a> , <a href="../../../javax/swing/plaf/metal/MetalBorders.ToggleButtonBorder.html" title="javax.swing.plaf.metal中的类">MetalBorders.ToggleButtonBorder</a> , <a href="../../../javax/swing/plaf/metal/MetalBorders.ToolBarBorder.html" title="javax.swing.plaf.metal中的类">MetalBorders.ToolBarBorder</a> , <a href="../../../javax/swing/plaf/metal/MetalCheckBoxIcon.html" title="javax.swing.plaf.metal中的类">MetalCheckBoxIcon</a> , <a href="../../../javax/swing/plaf/metal/MetalComboBoxEditor.UIResource.html" title="javax.swing.plaf.metal中的类">MetalComboBoxEditor.UIResource</a> , <a href="../../../javax/swing/plaf/metal/MetalIconFactory.PaletteCloseIcon.html" title="javax.swing.plaf.metal中的类">MetalIconFactory.PaletteCloseIcon</a> , <a href="../../../javax/swing/ScrollPaneLayout.UIResource.html" title="javax.swing中的类">ScrollPaneLayout.UIResource</a></span>
|
||
</dd>
|
||
</dl>
|
||
<hr/> <br/> <pre>public interface <span class="typeNameLabel">UIResource</span></pre>
|
||
<div class="block">
|
||
<span>此接口用于标记由ComponentUI委托创建的对象。</span>
|
||
<span><code>ComponentUI.installUI()</code>和<code>ComponentUI.uninstallUI()</code>方法可以使用此接口来决定属性值是否已被覆盖。</span>
|
||
<span>例如,JList cellRenderer属性由BasicListUI.installUI()初始化,只有当它的初始值为null时:</span>
|
||
<pre> <span>if (list.getCellRenderer() == null) {
|
||
list.setCellRenderer((ListCellRenderer)(UIManager.get("List.cellRenderer")));
|
||
}</span> </pre>
|
||
<span>在uninstallUI()时间,如果该值为UIResource的实例,则将该属性重置为null</span>
|
||
<pre> <span>if (list.getCellRenderer() instanceof UIResource) {
|
||
list.setCellRenderer(null);
|
||
}</span> </pre>
|
||
<span>此模式适用于除java.awt.Component属性字体,前景和背景之外的所有属性。</span>
|
||
<span>如果这些属性之一未初始化,或者显式设置为null,则其容器将提供该值。</span>
|
||
<span>因此, <code>"== null"</code> installUI()来动态更改组件外观时,"== null"是不可靠的。</span>
|
||
<span>所以在installUI()时候,我们检查当前值是否是UIResource:</span>
|
||
<pre> <span>if (!(list.getFont() instanceof UIResource)) {
|
||
list.setFont(UIManager.getFont("List.font"));
|
||
}</span> </pre>
|
||
</div>
|
||
<dl>
|
||
<dt>
|
||
<span class="seeLabel">另请参见:</span>
|
||
</dt>
|
||
<dd>
|
||
<span><a href="../../../javax/swing/plaf/ComponentUI.html" title="javax.swing.plaf中的类"><code>ComponentUI</code></a></span>
|
||
</dd>
|
||
</dl> </li>
|
||
</ul>
|
||
</div>
|
||
</div> |