198 lines
10 KiB
HTML
Raw Blame History

This file contains invisible Unicode characters

This file contains invisible Unicode characters that are indistinguishable to humans but may be processed differently by a computer. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

<div class="header">
<div class="subTitle">
javax.swing.plaf.nimbus
</div>
<h2 class="title" title="Class State">Class State&lt;T extends <a href="../../../../javax/swing/JComponent.html" title="class in javax.swing">JComponent</a>&gt;</h2>
</div><div class="contentContainer">
<ul class="inheritance">
<li><a href="../../../../java/lang/Object.html" title="class in java.lang">java.lang.Object</a></li>
<li>
<ul class="inheritance">
<li>javax.swing.plaf.nimbus.State&lt;T&gt;</li>
</ul> </li>
</ul>
<div class="description">
<ul class="blockList">
<li class="blockList">
<hr/> <br/> <pre>public abstract class <span class="typeNameLabel">State&lt;T extends <a href="../../../../javax/swing/JComponent.html" title="class in javax.swing">JComponent</a>&gt;</span>
extends <a href="../../../../java/lang/Object.html" title="class in java.lang">Object</a></pre>
<div class="block">
<p> <span>代表Nimbus内置或定制的状态。</span> </p>
<p> <span>Synth提供了几个内置状态它们是</span> </p>
<ul>
<li> <span>启用</span> </li>
<li> <span>鼠标移到</span> </li>
<li> <span>按下</span> </li>
<li> <span>残疾人士</span> </li>
<li> <span>专注</span> </li>
<li> <span>已选</span> </li>
<li> <span>默认</span> </li>
</ul>
<p> <span>然而还有更多的状态可以在LookAndFeel中描述并且根据这些不同的状态对组件进行不同的样式组件是很好的。</span> <span>例如,进度条可能是“不确定的”。</span> <span>允许将其定义为“状态”是非常方便的。</span> </p>
<p> <span>这个类,国家,旨在用于这种情况。</span> <span>简单地实现抽象#isInState方法。</span> <span>如果给定的JComponent为“处于此状态”则返回true否则返回false。</span> <span>该方法将被称为<em>性能敏感的循环</em> <em>多次</em></span> <span>它必须很快执行。</span> </p>
<p> <span>例如以下可能是JProgressBars的自定义“不确定”状态的实现</span> </p>
<pre> <span><code> public final class IndeterminateState extends State&lt;JProgressBar&gt; { public IndeterminateState() { super("Indeterminate"); } @Override protected boolean isInState(JProgressBar c) { return c.isIndeterminate(); } } </code></span> </pre>
</div> </li>
</ul>
</div>
<div class="summary">
<ul class="blockList">
<li class="blockList">
<!-- ======== CONSTRUCTOR SUMMARY ======== -->
<ul class="blockList">
<li class="blockList"><a name="constructor.summary">
<!-- --> </a> <h3>构造方法摘要</h3>
<table border="0" cellpadding="3" cellspacing="0" class="memberSummary" summary="Constructor Summary table, listing constructors, and an explanation">
<caption>
<span>构造方法</span>
<span class="tabEnd"> </span>
</caption>
<tbody>
<tr>
<th class="colFirst" scope="col">Modifier</th>
<th class="colLast" scope="col">Constructor and Description</th>
</tr>
<tr class="altColor">
<td class="colFirst"><code>protected </code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../javax/swing/plaf/nimbus/State.html#State-java.lang.String-">State</a></span>(<a href="../../../../java/lang/String.html" title="class in java.lang">String</a> name)</code>
<div class="block">
创建一个新的自定义状态。
</div> </td>
</tr>
</tbody>
</table> </li>
</ul>
<!-- ========== METHOD SUMMARY =========== -->
<ul class="blockList">
<li class="blockList"><a name="method.summary">
<!-- --> </a> <h3>方法摘要</h3>
<table border="0" cellpadding="3" cellspacing="0" class="memberSummary" summary="Method Summary table, listing methods, and an explanation">
<caption>
<span class="activeTableTab" id="t0"><span>所有方法</span><span class="tabEnd"> </span></span>
<span class="tableTab" id="t2"><span><a href="javascript:show(2);">接口方法</a></span><span class="tabEnd"> </span></span>
<span class="tableTab" id="t3"><span><a href="javascript:show(4);">抽象方法</a></span><span class="tabEnd"> </span></span>
<span class="tableTab" id="t4"><span><a href="javascript:show(8);">具体的方法</a></span><span class="tabEnd"> </span></span>
</caption>
<tbody>
<tr>
<th class="colFirst" scope="col">Modifier and Type</th>
<th class="colLast" scope="col">Method and Description</th>
</tr>
<tr class="altColor" id="i0">
<td class="colFirst"><code>protected abstract boolean</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../javax/swing/plaf/nimbus/State.html#isInState-T-">isInState</a></span>(<a href="../../../../javax/swing/plaf/nimbus/State.html" title="type parameter in State">T</a> c)</code>
<div class="block">
获取指定的JComponent是否处于由该类表示的自定义状态。
</div> </td>
</tr>
<tr class="rowColor" id="i1">
<td class="colFirst"><code><a href="../../../../java/lang/String.html" title="class in java.lang">String</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../javax/swing/plaf/nimbus/State.html#toString--">toString</a></span>()</code>
<div class="block">
返回对象的字符串表示形式。
</div> </td>
</tr>
</tbody>
</table>
<ul class="blockList">
<li class="blockList"><a name="methods.inherited.from.class.java.lang.Object">
<!-- --> </a> <h3>Methods inherited from class java.lang.<a href="../../../../java/lang/Object.html" title="class in java.lang">Object</a></h3> <code><a href="../../../../java/lang/Object.html#clone--">clone</a>, <a href="../../../../java/lang/Object.html#equals-java.lang.Object-">equals</a>, <a href="../../../../java/lang/Object.html#finalize--">finalize</a>, <a href="../../../../java/lang/Object.html#getClass--">getClass</a>, <a href="../../../../java/lang/Object.html#hashCode--">hashCode</a>, <a href="../../../../java/lang/Object.html#notify--">notify</a>, <a href="../../../../java/lang/Object.html#notifyAll--">notifyAll</a>, <a href="../../../../java/lang/Object.html#wait--">wait</a>, <a href="../../../../java/lang/Object.html#wait-long-">wait</a>, <a href="../../../../java/lang/Object.html#wait-long-int-">wait</a></code></li>
</ul> </li>
</ul> </li>
</ul>
</div>
<div class="details">
<ul class="blockList">
<li class="blockList">
<!-- ========= CONSTRUCTOR DETAIL ======== -->
<ul class="blockList">
<li class="blockList"><a name="constructor.detail">
<!-- --> </a> <h3>构造方法详细信息</h3> <a name="State-java.lang.String-">
<!-- --> </a>
<ul class="blockListLast">
<li class="blockList"> <h4>State</h4> <pre>protected State(<a href="../../../../java/lang/String.html" title="class in java.lang">String</a> name)</pre>
<div class="block">
<p> <span>创建一个新的自定义状态。</span> <span>指定状态的名称。</span> <span>在为任何一个特定组件设置的状态中,该名称应该是唯一的。</span> <span>状态的名称应与UIDefaults中使用的名称相符。</span> </p>
<p> <span>例如,以下是正确的:</span> </p>
<pre> <span><code> defaults.put("Button.States", "Enabled, Foo, Disabled"); defaults.put("Button.Foo", new FooState("Foo")); </code></span> </pre>
</div>
<dl>
<dt>
<span class="paramLabel">参数</span>
</dt>
<dd>
<span><code>name</code> - 用于状态的简单用户友好名称例如“Indeterminate”或“EmbeddedPanel”或“Blurred”。</span>
<span>习惯使用骆驼盒,首字母大写。</span>
</dd>
</dl> </li>
</ul> </li>
</ul>
<!-- ============ METHOD DETAIL ========== -->
<ul class="blockList">
<li class="blockList"><a name="method.detail">
<!-- --> </a> <h3>方法详细信息</h3> <a name="toString--">
<!-- --> </a>
<ul class="blockList">
<li class="blockList"> <h4>toString</h4> <pre>public <a href="../../../../java/lang/String.html" title="class in java.lang">String</a> toString()</pre>
<div class="block">
<span class="descfrmTypeLabel">描述从类别复制: <code><a href="../../../../java/lang/Object.html#toString--">Object</a></code></span>
</div>
<div class="block">
<span>返回对象的字符串表示形式。</span>
<span>一般来说, <code>toString</code>方法返回一个“textually代表”这个对象的字符串。</span>
<span>结果应该是一个简明扼要的表达,容易让人阅读。</span>
<span>建议所有子类覆盖此方法。</span>
<p> <span><code>toString</code>类方法<code>Object</code>返回一个由其中的对象是一个实例,该符号字符`的类的名称的字符串<code>@</code> ”和对象的哈希码的无符号的十六进制表示。</span> <span>换句话说,这个方法返回一个等于下列值的字符串:</span> </p>
<blockquote>
<span><pre>
getClass().getName() + '@' + Integer.toHexString(hashCode())
</pre></span>
</blockquote>
</div>
<dl>
<dt>
<span class="overrideSpecifyLabel">重写:</span>
</dt>
<dd>
<code><a href="../../../../java/lang/Object.html#toString--">toString</a></code>
<code><a href="../../../../java/lang/Object.html" title="class in java.lang">Object</a></code>
</dd>
<dt>
<span class="returnLabel">结果</span>
</dt>
<dd>
对象的字符串表示形式。
</dd>
</dl> </li>
</ul> <a name="isInState-javax.swing.JComponent-">
<!-- --> </a><a name="isInState-T-">
<!-- --> </a>
<ul class="blockListLast">
<li class="blockList"> <h4>isInState</h4> <pre>protected abstract boolean isInState(<a href="../../../../javax/swing/plaf/nimbus/State.html" title="type parameter in State">T</a> c)</pre>
<div class="block">
<p> <span>获取指定的JComponent是否处于由该类表示的自定义状态。</span> <span><em>这是一个非常性能敏感的循环。</em></span> <span>请采取适当的预防措施,以确保快速执行。</span> </p>
<p> <span>Nimbus使用此方法来帮助确定JComponent的状态。例如JProgressBar可能存在一个自定义状态以便在进度条<code>true</code>时返回true。</span> <span>这种方法的实现将是:</span> </p>
<pre> <span><code> return c.isIndeterminate();</code></span> </pre>
</div>
<dl>
<dt>
<span class="paramLabel">参数</span>
</dt>
<dd>
<span><code>c</code> - JComponent进行测试。</span>
<span>这将永远不会为空。</span>
</dd>
<dt>
<span class="returnLabel">结果</span>
</dt>
<dd>
true if
<code>c</code> is in the custom state represented by this
<code>State</code> instance
</dd>
</dl> </li>
</ul> </li>
</ul> </li>
</ul>
</div>
</div>