792 lines
34 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
</div>
<h2 class="title" title="Class Timer">Class Timer</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.Timer</li>
</ul> </li>
</ul>
<div class="description">
<ul class="blockList">
<li class="blockList">
<dl>
<dt>
All Implemented Interfaces:
</dt>
<dd>
<span><a href="../../java/io/Serializable.html" title="java.io中的接口">Serializable</a></span>
</dd>
</dl>
<hr/> <br/> <pre>public class <span class="typeNameLabel">Timer</span>
extends <a href="../../java/lang/Object.html" title="class in java.lang">Object</a>
implements <a href="../../java/io/Serializable.html" title="interface in java.io">Serializable</a></pre>
<div class="block">
<span>以指定的间隔触发一个或多个<code>ActionEvent</code> s。</span>
<span>示例使用是使用<code>Timer</code>作为绘制其帧的触发器的动画对象。</span>
<p> <span>设置定时器包括创建一个<code>Timer</code>对象,在其上注册一个或多个动作侦听器,并使用<code>start</code>方法启动定时器。</span> <span>例如,下面的代码创建并启动每秒一次触发一个动作事件(由第一个参数指定定时器<code>Timer</code>构造函数)。</span> <span><code>Timer</code>构造函数的第二个参数指定一个侦听器来接收定时器的动作事件。</span> </p>
<pre> <span>int delay = 1000; //milliseconds
ActionListener taskPerformer = new ActionListener() {
public void actionPerformed(ActionEvent evt) {
<em>//...Perform a task...</em>
}
};
new Timer(delay, taskPerformer).start();</span> </pre>
<p> <span><code>Timers</code>是通过指定延迟参数和<code>ActionListener</code></span> <span>延迟参数用于设置事件触发之间的初始延迟和延迟(以毫秒为单位)。</span> <span>一旦定时器启动,它将等待初始延迟,然后再将其第一个<code>ActionEvent</code>发送到注册的监听器。</span> <span>在这个第一个事件之后,它会在每次事件间延迟过去之后继续发生事件,直到它停止。</span> </p>
<p> <span>施工后,初始延迟和事件间延迟可以独立更改, <code>ActionListeners</code>可以增加<code>ActionListeners</code></span> </p>
<p> <span>如果你想让定时器第一次触发然后停止,调用<code>setRepeats(false)</code>上的<code>setRepeats(false)</code></span> </p>
<p> <span>虽然所有<code>Timer</code>都使用单个共享线程(由执行的第一个<code>Timer</code>对象创建)执行等待,但是在另一个线程(事件调度线程)上执行<code>Timer</code>的动作事件处理程序。</span> <span>这意味着<code>Timer</code>的动作处理程序可以安全地对Swing组件执行操作。</span> <span>但是这也意味着处理程序必须快速执行以保持GUI的响应。</span> </p>
<p> <span>在v 1.3中,另一个<code>Timer</code>类被添加到Java平台 <code>java.util.Timer</code></span> <span>它和<code>javax.swing.Timer</code>提供了相同的基本功能,但<code>java.util.Timer</code>更通用,具有更多的功能。</span> <span><code>javax.swing.Timer</code>有两个功能可以使它更容易与GUI一起使用。</span> <span>首先它的事件处理隐喻是GUI程序员熟悉的可以使处理事件调度线程更简单一些。</span> <span>其次,它的自动线程共享意味着你不必采取特殊的步骤来避免产生太多的线程。</span> <span>相反,您的计时器使用与使光标闪烁相同的线程,显示工具提示等。</span> </p>
<p> <span>有关使用定时器的更多文档和几个示例,请访问<em>Java教程</em><em></em> <a href="http://docs.oracle.com/javase/tutorial/uiswing/misc/timer.html" target="_top">How to Use Timers</a> <em></em></span> <span>有关更多示例和帮助,选择此<code>Timer</code>类和<code>java.util.Timer</code> ,请参阅<a href="http://java.sun.com/products/jfc/tsc/articles/timer/" target="_top">Using Timers in Swing Applications</a> <em>Swing连接</em>中的一篇文章<em></em></span> </p>
<p> <span><strong>警告:</strong>此类的序列化对象与将来的Swing版本不兼容。</span> <span>当前的序列化支持适用于运行相同版本的Swing的应用程序之间的短期存储或RMI。</span> <span>从1.4开始对所有JavaBeans的长期存储的支持已经添加到<code>java.beans</code>包中。</span> <span>请参阅<a href="../../java/beans/XMLEncoder.html" title="java.beans中的类"><code>XMLEncoder</code></a></span> </p>
</div>
<dl>
<dt>
<span class="seeLabel">另请参见:</span>
</dt>
<dd>
<span><a href="../../java/util/Timer.html" title="java.util中的类"><code><code>java.util.Timer</code></code></a></span>
</dd>
</dl> </li>
</ul>
</div>
<div class="summary">
<ul class="blockList">
<li class="blockList">
<!-- =========== FIELD SUMMARY =========== -->
<ul class="blockList">
<li class="blockList"><a name="field.summary">
<!-- --> </a> <h3>Field Summary</h3>
<table border="0" cellpadding="3" cellspacing="0" class="memberSummary" summary="Field Summary table, listing fields, and an explanation">
<caption>
<span>Fields</span>
<span class="tabEnd"> </span>
</caption>
<tbody>
<tr>
<th class="colFirst" scope="col">Modifier and Type</th>
<th class="colLast" scope="col">Field and Description</th>
</tr>
<tr class="altColor">
<td class="colFirst"><code>protected <a href="../../javax/swing/event/EventListenerList.html" title="class in javax.swing.event">EventListenerList</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../javax/swing/Timer.html#listenerList">listenerList</a></span></code> </td>
</tr>
</tbody>
</table> </li>
</ul>
<!-- ======== 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="colOne" scope="col">Constructor and Description</th>
</tr>
<tr class="altColor">
<td class="colOne"><code><span class="memberNameLink"><a href="../../javax/swing/Timer.html#Timer-int-java.awt.event.ActionListener-">Timer</a></span>(int delay, <a href="../../java/awt/event/ActionListener.html" title="interface in java.awt.event">ActionListener</a> listener)</code>
<div class="block">
创建一个
<code>Timer</code> ,并将初始延迟和事件间延迟
<code>delay</code>
<code>delay</code>毫秒。
</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="t1"><span><a href="javascript:show(1);">静态方法</a></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="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>void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../javax/swing/Timer.html#addActionListener-java.awt.event.ActionListener-">addActionListener</a></span>(<a href="../../java/awt/event/ActionListener.html" title="interface in java.awt.event">ActionListener</a> listener)</code>
<div class="block">
<code>Timer</code>添加一个动作侦听器。
</div> </td>
</tr>
<tr class="rowColor" id="i1">
<td class="colFirst"><code>protected void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../javax/swing/Timer.html#fireActionPerformed-java.awt.event.ActionEvent-">fireActionPerformed</a></span>(<a href="../../java/awt/event/ActionEvent.html" title="class in java.awt.event">ActionEvent</a> e)</code>
<div class="block">
通知所有在此事件类型上通知有兴趣的听众。
</div> </td>
</tr>
<tr class="altColor" id="i2">
<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/Timer.html#getActionCommand--">getActionCommand</a></span>()</code>
<div class="block">
返回将交付作为动作命令字符串
<code>ActionEvent</code>此计时器所触发秒。
</div> </td>
</tr>
<tr class="rowColor" id="i3">
<td class="colFirst"><code><a href="../../java/awt/event/ActionListener.html" title="interface in java.awt.event">ActionListener</a>[]</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../javax/swing/Timer.html#getActionListeners--">getActionListeners</a></span>()</code>
<div class="block">
返回在此定时器上注册的所有动作侦听器的数组。
</div> </td>
</tr>
<tr class="altColor" id="i4">
<td class="colFirst"><code>int</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../javax/swing/Timer.html#getDelay--">getDelay</a></span>()</code>
<div class="block">
返回动作事件触发之间的延迟(以毫秒为单位)。
</div> </td>
</tr>
<tr class="rowColor" id="i5">
<td class="colFirst"><code>int</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../javax/swing/Timer.html#getInitialDelay--">getInitialDelay</a></span>()</code>
<div class="block">
返回
<code>Timer</code>的初始延迟。
</div> </td>
</tr>
<tr class="altColor" id="i6">
<td class="colFirst"><code>&lt;T extends <a href="../../java/util/EventListener.html" title="interface in java.util">EventListener</a>&gt;<br/>T[]</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../javax/swing/Timer.html#getListeners-java.lang.Class-">getListeners</a></span>(<a href="../../java/lang/Class.html" title="class in java.lang"></a>&lt;T&gt; listenerType)</code>
<div class="block">
返回当前注册的所有对象的数组
<code><em>Foo</em>Listener</code>在这个S
<code>Timer</code>
</div> </td>
</tr>
<tr class="rowColor" id="i7">
<td class="colFirst"><code>static boolean</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../javax/swing/Timer.html#getLogTimers--">getLogTimers</a></span>()</code>
<div class="block">
如果启用日志记录,则返回
<code>true</code>
</div> </td>
</tr>
<tr class="altColor" id="i8">
<td class="colFirst"><code>boolean</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../javax/swing/Timer.html#isCoalesce--">isCoalesce</a></span>()</code>
<div class="block">
如果
<code>Timer</code>合并多个待处理的动作事件,则返回
<code>true</code>
</div> </td>
</tr>
<tr class="rowColor" id="i9">
<td class="colFirst"><code>boolean</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../javax/swing/Timer.html#isRepeats--">isRepeats</a></span>()</code>
<div class="block">
返回
<code>true</code> (默认值),如果
<code>Timer</code>将多次向其侦听器发送一个动作事件。
</div> </td>
</tr>
<tr class="altColor" id="i10">
<td class="colFirst"><code>boolean</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../javax/swing/Timer.html#isRunning--">isRunning</a></span>()</code>
<div class="block">
如果
<code>Timer</code>正在运行,则返回
<code>true</code>
</div> </td>
</tr>
<tr class="rowColor" id="i11">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../javax/swing/Timer.html#removeActionListener-java.awt.event.ActionListener-">removeActionListener</a></span>(<a href="../../java/awt/event/ActionListener.html" title="interface in java.awt.event">ActionListener</a> listener)</code>
<div class="block">
将删除指定的动作监听
<code>Timer</code>
</div> </td>
</tr>
<tr class="altColor" id="i12">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../javax/swing/Timer.html#restart--">restart</a></span>()</code>
<div class="block">
重新启动
<code>Timer</code> ,取消任何待处理的启动,并使其最初延迟启动。
</div> </td>
</tr>
<tr class="rowColor" id="i13">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../javax/swing/Timer.html#setActionCommand-java.lang.String-">setActionCommand</a></span>(<a href="../../java/lang/String.html" title="class in java.lang">String</a> command)</code>
<div class="block">
设置将交付作为动作命令字符串
<code>ActionEvent</code>此计时器所触发秒。
</div> </td>
</tr>
<tr class="altColor" id="i14">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../javax/swing/Timer.html#setCoalesce-boolean-">setCoalesce</a></span>(boolean flag)</code>
<div class="block">
设置
<code>Timer</code>是否合并多个待处理的
<code>ActionEvent</code>点火。
</div> </td>
</tr>
<tr class="rowColor" id="i15">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../javax/swing/Timer.html#setDelay-int-">setDelay</a></span>(int delay)</code>
<div class="block">
设置
<code>Timer</code>的事件间延迟,连续动作事件之间的毫秒数。
</div> </td>
</tr>
<tr class="altColor" id="i16">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../javax/swing/Timer.html#setInitialDelay-int-">setInitialDelay</a></span>(int initialDelay)</code>
<div class="block">
设置
<code>Timer</code>的初始延迟,在触发第一个事件之前定时器启动后等待的时间(以毫秒为单位)。
</div> </td>
</tr>
<tr class="rowColor" id="i17">
<td class="colFirst"><code>static void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../javax/swing/Timer.html#setLogTimers-boolean-">setLogTimers</a></span>(boolean flag)</code>
<div class="block">
启用或禁用定时器日志。
</div> </td>
</tr>
<tr class="altColor" id="i18">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../javax/swing/Timer.html#setRepeats-boolean-">setRepeats</a></span>(boolean flag)</code>
<div class="block">
如果
<code>flag</code>
<code>false</code> ,则
<code>Timer</code>
<code>Timer</code>器发送一个动作事件。
</div> </td>
</tr>
<tr class="rowColor" id="i19">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../javax/swing/Timer.html#start--">start</a></span>()</code>
<div class="block">
启动
<code>Timer</code> ,使其开始向其监听器发送动作事件。
</div> </td>
</tr>
<tr class="altColor" id="i20">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../javax/swing/Timer.html#stop--">stop</a></span>()</code>
<div class="block">
停止
<code>Timer</code> ,使其停止向其监听器发送操作事件。
</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#toString--">toString</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">
<!-- ============ FIELD DETAIL =========== -->
<ul class="blockList">
<li class="blockList"><a name="field.detail">
<!-- --> </a> <h3>字段详细信息</h3> <a name="listenerList">
<!-- --> </a>
<ul class="blockListLast">
<li class="blockList"> <h4>listenerList</h4> <pre>protected <a href="../../javax/swing/event/EventListenerList.html" title="class in javax.swing.event">EventListenerList</a> listenerList</pre> </li>
</ul> </li>
</ul>
<!-- ========= CONSTRUCTOR DETAIL ======== -->
<ul class="blockList">
<li class="blockList"><a name="constructor.detail">
<!-- --> </a> <h3>构造方法详细信息</h3> <a name="Timer-int-java.awt.event.ActionListener-">
<!-- --> </a>
<ul class="blockListLast">
<li class="blockList"> <h4>Timer</h4> <pre>public Timer(int delay,
<a href="../../java/awt/event/ActionListener.html" title="interface in java.awt.event">ActionListener</a> listener)</pre>
<div class="block">
<span>创建一个<code>Timer</code>并将初始延迟和事件间延迟<code>delay</code><code>delay</code>毫秒。</span>
<span>如果<code>delay</code>小于或等于零,定时器在启动时立即触发。</span>
<span>如果<code>listener</code>不是<code>null</code> ,则在定时器上注册为动作侦听器。</span>
</div>
<dl>
<dt>
<span class="paramLabel">参数</span>
</dt>
<dd>
<code>delay</code> - 初始事件延迟和事件间延迟的毫秒数
</dd>
<dd>
<span><code>listener</code> - 初始听众;</span>
<span>可以<code>null</code></span>
</dd>
<dt>
<span class="seeLabel">另请参见:</span>
</dt>
<dd>
<a href="../../javax/swing/Timer.html#addActionListener-java.awt.event.ActionListener-"><code>addActionListener(java.awt.event.ActionListener)</code></a>
<a href="../../javax/swing/Timer.html#setInitialDelay-int-"><code>setInitialDelay(int)</code></a>
<a href="../../javax/swing/Timer.html#setRepeats-boolean-"><code>setRepeats(boolean)</code></a>
</dd>
</dl> </li>
</ul> </li>
</ul>
<!-- ============ METHOD DETAIL ========== -->
<ul class="blockList">
<li class="blockList"><a name="method.detail">
<!-- --> </a> <h3>方法详细信息</h3> <a name="addActionListener-java.awt.event.ActionListener-">
<!-- --> </a>
<ul class="blockList">
<li class="blockList"> <h4>addActionListener</h4> <pre>public void addActionListener(<a href="../../java/awt/event/ActionListener.html" title="interface in java.awt.event">ActionListener</a> listener)</pre>
<div class="block">
<code>Timer</code>添加一个动作侦听器。
</div>
<dl>
<dt>
<span class="paramLabel">参数</span>
</dt>
<dd>
<code>listener</code> - 要添加的侦听器
</dd>
<dt>
<span class="seeLabel">另请参见:</span>
</dt>
<dd>
<a href="../../javax/swing/Timer.html#Timer-int-java.awt.event.ActionListener-"><code>Timer(int, java.awt.event.ActionListener)</code></a>
</dd>
</dl> </li>
</ul> <a name="removeActionListener-java.awt.event.ActionListener-">
<!-- --> </a>
<ul class="blockList">
<li class="blockList"> <h4>removeActionListener</h4> <pre>public void removeActionListener(<a href="../../java/awt/event/ActionListener.html" title="interface in java.awt.event">ActionListener</a> listener)</pre>
<div class="block">
将删除指定的动作监听
<code>Timer</code>
</div>
<dl>
<dt>
<span class="paramLabel">参数</span>
</dt>
<dd>
<code>listener</code> - 要删除的侦听器
</dd>
</dl> </li>
</ul> <a name="getActionListeners--">
<!-- --> </a>
<ul class="blockList">
<li class="blockList"> <h4>getActionListeners</h4> <pre>public <a href="../../java/awt/event/ActionListener.html" title="interface in java.awt.event">ActionListener</a>[] getActionListeners()</pre>
<div class="block">
返回在此定时器上注册的所有动作侦听器的数组。
</div>
<dl>
<dt>
<span class="returnLabel">结果</span>
</dt>
<dd>
所有的定时器的
<code>ActionListener</code> s或一个空数组如果没有动作侦听器当前注册
</dd>
<dt>
<span class="simpleTagLabel">从以下版本开始:</span>
</dt>
<dd>
1.4
</dd>
<dt>
<span class="seeLabel">另请参见:</span>
</dt>
<dd>
<a href="../../javax/swing/Timer.html#addActionListener-java.awt.event.ActionListener-"><code>addActionListener(java.awt.event.ActionListener)</code></a>
<a href="../../javax/swing/Timer.html#removeActionListener-java.awt.event.ActionListener-"><code>removeActionListener(java.awt.event.ActionListener)</code></a>
</dd>
</dl> </li>
</ul> <a name="fireActionPerformed-java.awt.event.ActionEvent-">
<!-- --> </a>
<ul class="blockList">
<li class="blockList"> <h4>fireActionPerformed</h4> <pre>protected void fireActionPerformed(<a href="../../java/awt/event/ActionEvent.html" title="class in java.awt.event">ActionEvent</a> e)</pre>
<div class="block">
通知所有在此事件类型上通知有兴趣的听众。
</div>
<dl>
<dt>
<span class="paramLabel">参数</span>
</dt>
<dd>
<code>e</code> - 发生的动作事件
</dd>
<dt>
<span class="seeLabel">另请参见:</span>
</dt>
<dd>
<span><a href="../../javax/swing/event/EventListenerList.html" title="javax.swing.event中的类"><code>EventListenerList</code></a></span>
</dd>
</dl> </li>
</ul> <a name="getListeners-java.lang.Class-">
<!-- --> </a>
<ul class="blockList">
<li class="blockList"> <h4>getListeners</h4> <pre>public &lt;T extends <a href="../../java/util/EventListener.html" title="interface in java.util">EventListener</a>&gt; T[] getListeners(<a href="../../java/lang/Class.html" title="class in java.lang"></a>&lt;T&gt; listenerType)</pre>
<div class="block">
<span>返回当前注册为<code><em>Foo</em>Listener</code>的所有对象的数组,这个<code>Timer</code></span>
<span><code><em>Foo</em>Listener</code>使用<code>add<em>Foo</em>Listener</code></span>
<p> <span>您可以使用类文字指定<code>listenerType</code>参数,例如<code><em>Foo</em>Listener.class</code></span> <span>例如,您可以使用以下代码查询其操作侦听器的<code>Timer</code>实例<code>t</code> </span> </p>
<pre> <span>ActionListener[] als = (ActionListener[])(t.getListeners(ActionListener.class));</span> </pre>
<span>如果没有这样的侦听器存在,这个方法返回一个空数组。</span>
</div>
<dl>
<dt>
<span class="paramLabel">参数</span>
</dt>
<dd>
<span><code>listenerType</code> - 所请求的听众的类型;</span>
<span>此参数应指定从<code>java.util.EventListener</code>下降的<code>java.util.EventListener</code></span>
</dd>
<dt>
<span class="returnLabel">结果</span>
</dt>
<dd>
在该定时器上注册为
<code><em>Foo</em>Listener</code>的所有对象的数组,如果没有添加此类侦听器,则为空数组
</dd>
<dt>
<span class="throwsLabel">异常</span>
</dt>
<dd>
<code><a href="../../java/lang/ClassCastException.html" title="class in java.lang">ClassCastException</a></code> - 如果
<code>listenerType</code>没有指定实现java.util.EventListener的类或
<code>java.util.EventListener</code>
</dd>
<dt>
<span class="simpleTagLabel">从以下版本开始:</span>
</dt>
<dd>
1.3
</dd>
<dt>
<span class="seeLabel">另请参见:</span>
</dt>
<dd>
<a href="../../javax/swing/Timer.html#getActionListeners--"><code>getActionListeners()</code></a>
<a href="../../javax/swing/Timer.html#addActionListener-java.awt.event.ActionListener-"><code>addActionListener(java.awt.event.ActionListener)</code></a>
<a href="../../javax/swing/Timer.html#removeActionListener-java.awt.event.ActionListener-"><code>removeActionListener(java.awt.event.ActionListener)</code></a>
</dd>
</dl> </li>
</ul> <a name="setLogTimers-boolean-">
<!-- --> </a>
<ul class="blockList">
<li class="blockList"> <h4>setLogTimers</h4> <pre>public static void setLogTimers(boolean flag)</pre>
<div class="block">
<span>启用或禁用定时器日志。</span>
<span>启用时,只要定时器关闭,就会将消息发布到<code>System.out</code></span>
</div>
<dl>
<dt>
<span class="paramLabel">参数</span>
</dt>
<dd>
<code>flag</code> -
<code>true</code>以启用日志记录
</dd>
<dt>
<span class="seeLabel">另请参见:</span>
</dt>
<dd>
<a href="../../javax/swing/Timer.html#getLogTimers--"><code>getLogTimers()</code></a>
</dd>
</dl> </li>
</ul> <a name="getLogTimers--">
<!-- --> </a>
<ul class="blockList">
<li class="blockList"> <h4>getLogTimers</h4> <pre>public static boolean getLogTimers()</pre>
<div class="block">
如果启用日志记录,则返回
<code>true</code>
</div>
<dl>
<dt>
<span class="returnLabel">结果</span>
</dt>
<dd>
<span><code>true</code>如果启用日志记录;</span>
<span>否则,假</span>
</dd>
<dt>
<span class="seeLabel">另请参见:</span>
</dt>
<dd>
<a href="../../javax/swing/Timer.html#setLogTimers-boolean-"><code>setLogTimers(boolean)</code></a>
</dd>
</dl> </li>
</ul> <a name="setDelay-int-">
<!-- --> </a>
<ul class="blockList">
<li class="blockList"> <h4>setDelay</h4> <pre>public void setDelay(int delay)</pre>
<div class="block">
<span>设置<code>Timer</code>的事件间延迟,连续动作事件之间的毫秒数。</span>
<span>这不影响初始延迟属性,可以通过<code>setInitialDelay</code>方法设置。</span>
</div>
<dl>
<dt>
<span class="paramLabel">参数</span>
</dt>
<dd>
<code>delay</code> - 以毫秒为单位的延迟
</dd>
<dt>
<span class="seeLabel">另请参见:</span>
</dt>
<dd>
<a href="../../javax/swing/Timer.html#setInitialDelay-int-"><code>setInitialDelay(int)</code></a>
</dd>
</dl> </li>
</ul> <a name="getDelay--">
<!-- --> </a>
<ul class="blockList">
<li class="blockList"> <h4>getDelay</h4> <pre>public int getDelay()</pre>
<div class="block">
返回动作事件触发之间的延迟(以毫秒为单位)。
</div>
<dl>
<dt>
<span class="seeLabel">另请参见:</span>
</dt>
<dd>
<a href="../../javax/swing/Timer.html#setDelay-int-"><code>setDelay(int)</code></a>
<a href="../../javax/swing/Timer.html#getInitialDelay--"><code>getInitialDelay()</code></a>
</dd>
</dl> </li>
</ul> <a name="setInitialDelay-int-">
<!-- --> </a>
<ul class="blockList">
<li class="blockList"> <h4>setInitialDelay</h4> <pre>public void setInitialDelay(int initialDelay)</pre>
<div class="block">
<span>设置<code>Timer</code>的初始延迟,在触发第一个事件之前定时器启动后等待的时间(以毫秒为单位)。</span>
<span>在构造时,这被设置为与事件间延迟相同,但是其值是独立的,并且不受事件延迟之间的改变的影响。</span>
</div>
<dl>
<dt>
<span class="paramLabel">参数</span>
</dt>
<dd>
<code>initialDelay</code> - 初始延迟(以毫秒为单位)
</dd>
<dt>
<span class="seeLabel">另请参见:</span>
</dt>
<dd>
<a href="../../javax/swing/Timer.html#setDelay-int-"><code>setDelay(int)</code></a>
</dd>
</dl> </li>
</ul> <a name="getInitialDelay--">
<!-- --> </a>
<ul class="blockList">
<li class="blockList"> <h4>getInitialDelay</h4> <pre>public int getInitialDelay()</pre>
<div class="block">
返回
<code>Timer</code>的初始延迟。
</div>
<dl>
<dt>
<span class="seeLabel">另请参见:</span>
</dt>
<dd>
<a href="../../javax/swing/Timer.html#setInitialDelay-int-"><code>setInitialDelay(int)</code></a>
<a href="../../javax/swing/Timer.html#setDelay-int-"><code>setDelay(int)</code></a>
</dd>
</dl> </li>
</ul> <a name="setRepeats-boolean-">
<!-- --> </a>
<ul class="blockList">
<li class="blockList"> <h4>setRepeats</h4> <pre>public void setRepeats(boolean flag)</pre>
<div class="block">
如果
<code>flag</code>
<code>false</code> ,则
<code>Timer</code>
<code>Timer</code>器发送一个动作事件。
</div>
<dl>
<dt>
<span class="paramLabel">参数</span>
</dt>
<dd>
<code>flag</code> - 指定
<code>false</code>使定时器在发送第一个动作事件后停止
</dd>
</dl> </li>
</ul> <a name="isRepeats--">
<!-- --> </a>
<ul class="blockList">
<li class="blockList"> <h4>isRepeats</h4> <pre>public boolean isRepeats()</pre>
<div class="block">
返回
<code>true</code> (默认值),如果
<code>Timer</code>将多次向其侦听器发送一个动作事件。
</div>
<dl>
<dt>
<span class="seeLabel">另请参见:</span>
</dt>
<dd>
<a href="../../javax/swing/Timer.html#setRepeats-boolean-"><code>setRepeats(boolean)</code></a>
</dd>
</dl> </li>
</ul> <a name="setCoalesce-boolean-">
<!-- --> </a>
<ul class="blockList">
<li class="blockList"> <h4>setCoalesce</h4> <pre>public void setCoalesce(boolean flag)</pre>
<div class="block">
<span>设置<code>Timer</code>是否合并多个待处理的<code>ActionEvent</code></span>
<span>繁忙的应用程序可能无法跟上<code>Timer</code>的事件生成,导致多个操作事件排队。</span>
<span>处理后,应用程序一个接一个地发送这些事件,导致<code>Timer</code>的侦听器在它们之间没有任何延迟地接收一系列事件。</span>
<span>合并通过将多个未决事件减少为单个事件来避免这种情况。</span>
<span><code>Timer</code> s默认合并事件。</span>
</div>
<dl>
<dt>
<span class="paramLabel">参数</span>
</dt>
<dd>
<code>flag</code> -指定
<code>false</code>关闭合并
</dd>
</dl> </li>
</ul> <a name="isCoalesce--">
<!-- --> </a>
<ul class="blockList">
<li class="blockList"> <h4>isCoalesce</h4> <pre>public boolean isCoalesce()</pre>
<div class="block">
如果
<code>Timer</code>合并多个待处理的动作事件,则返回
<code>true</code>
</div>
<dl>
<dt>
<span class="seeLabel">另请参见:</span>
</dt>
<dd>
<a href="../../javax/swing/Timer.html#setCoalesce-boolean-"><code>setCoalesce(boolean)</code></a>
</dd>
</dl> </li>
</ul> <a name="setActionCommand-java.lang.String-">
<!-- --> </a>
<ul class="blockList">
<li class="blockList"> <h4>setActionCommand</h4> <pre>public void setActionCommand(<a href="../../java/lang/String.html" title="class in java.lang">String</a> command)</pre>
<div class="block">
<span>设置将交付作为动作命令字符串<code>ActionEvent</code>此计时器所触发秒。</span>
<span><code>null</code>是可接受的值。</span>
</div>
<dl>
<dt>
<span class="paramLabel">参数</span>
</dt>
<dd>
<code>command</code> - action命令
</dd>
<dt>
<span class="simpleTagLabel">从以下版本开始:</span>
</dt>
<dd>
1.6
</dd>
</dl> </li>
</ul> <a name="getActionCommand--">
<!-- --> </a>
<ul class="blockList">
<li class="blockList"> <h4>getActionCommand</h4> <pre>public <a href="../../java/lang/String.html" title="class in java.lang">String</a> getActionCommand()</pre>
<div class="block">
<span>返回将交付作为动作命令字符串<code>ActionEvent</code>此计时器所触发秒。</span>
<span>可能是<code>null</code> ,也是默认值。</span>
</div>
<dl>
<dt>
<span class="returnLabel">结果</span>
</dt>
<dd>
用于触发事件的动作命令
</dd>
<dt>
<span class="simpleTagLabel">从以下版本开始:</span>
</dt>
<dd>
1.6
</dd>
</dl> </li>
</ul> <a name="start--">
<!-- --> </a>
<ul class="blockList">
<li class="blockList"> <h4>start</h4> <pre>public void start()</pre>
<div class="block">
启动
<code>Timer</code> ,使其开始向其监听器发送动作事件。
</div>
<dl>
<dt>
<span class="seeLabel">另请参见:</span>
</dt>
<dd>
<a href="../../javax/swing/Timer.html#stop--"><code>stop()</code></a>
</dd>
</dl> </li>
</ul> <a name="isRunning--">
<!-- --> </a>
<ul class="blockList">
<li class="blockList"> <h4>isRunning</h4> <pre>public boolean isRunning()</pre>
<div class="block">
如果
<code>Timer</code>正在运行,则返回
<code>true</code>
</div>
<dl>
<dt>
<span class="seeLabel">另请参见:</span>
</dt>
<dd>
<a href="../../javax/swing/Timer.html#start--"><code>start()</code></a>
</dd>
</dl> </li>
</ul> <a name="stop--">
<!-- --> </a>
<ul class="blockList">
<li class="blockList"> <h4>stop</h4> <pre>public void stop()</pre>
<div class="block">
停止
<code>Timer</code> ,使其停止向其监听器发送操作事件。
</div>
<dl>
<dt>
<span class="seeLabel">另请参见:</span>
</dt>
<dd>
<a href="../../javax/swing/Timer.html#start--"><code>start()</code></a>
</dd>
</dl> </li>
</ul> <a name="restart--">
<!-- --> </a>
<ul class="blockListLast">
<li class="blockList"> <h4>restart</h4> <pre>public void restart()</pre>
<div class="block">
重新启动
<code>Timer</code> ,取消任何未决的发射,并使其以其初始延迟触发。
</div> </li>
</ul> </li>
</ul> </li>
</ul>
</div>
</div>