changelistener.html

来自「jsf、swing的官方指南」· HTML 代码 · 共 553 行 · 第 1/2 页

HTML
553
字号
                            <br>                            <a href="javascript:toggleLeft()"                                id="ToggleLeft">Hide the TOC</a>                        </div>                    </div> </div> </div> </div> </div>    <div class=PrintHeaders>        <b>Trail:</b> Creating a GUI with JFC/Swing        <br><b>Lesson:</b> Writing Event Listeners        <br><b>Section:</b> Implementing Listeners for Commonly Handled Events    </div>    <div id=LeftBar class=LeftBar_shown>        <div id=Contents>            <div class="linkLESSON"><a href="index.html">Writing Event Listeners</a></div><div class="linkAHEAD"><a href="intro.html">Introduction to Event Listeners</a></div><div class="linkAHEAD"><a href="generalrules.html">General Information about Writing Event Listeners</a></div><div class="linkAHEAD"><a href="eventsandcomponents.html">Listeners Supported by Swing Components</a></div><div class="linkAHEAD"><a href="handling.html">Implementing Listeners for Commonly Handled Events</a></div><div class="linkBHEAD"><a href="actionlistener.html">How to Write an Action Listener</a></div><div class="linkBHEAD"><a href="caretlistener.html">How to Write a Caret Listener</a></div><div class="nolinkBHEAD">How to Write a Change Listener</div><div class="linkBHEAD"><a href="componentlistener.html">How to Write a Component Listener</a></div><div class="linkBHEAD"><a href="containerlistener.html">How to Write a Container Listener</a></div><div class="linkBHEAD"><a href="documentlistener.html">How to Write a Document Listener</a></div><div class="linkBHEAD"><a href="focuslistener.html">How to Write a Focus Listener</a></div><div class="linkBHEAD"><a href="internalframelistener.html">How to Write an Internal Frame Listener</a></div><div class="linkBHEAD"><a href="itemlistener.html">How to Write an Item Listener</a></div><div class="linkBHEAD"><a href="keylistener.html">How to Write a Key Listener</a></div><div class="linkBHEAD"><a href="listdatalistener.html">How to Write a List Data Listener</a></div><div class="linkBHEAD"><a href="listselectionlistener.html">How to Write a List Selection Listener</a></div><div class="linkBHEAD"><a href="mouselistener.html">How to Write a Mouse Listener</a></div><div class="linkBHEAD"><a href="mousemotionlistener.html">How to Write a Mouse-Motion Listener</a></div><div class="linkBHEAD"><a href="mousewheellistener.html">How to Write a Mouse-Wheel Listener</a></div><div class="linkBHEAD"><a href="propertychangelistener.html">How to Write a Property Change Listener</a></div><div class="linkBHEAD"><a href="tablemodellistener.html">How to Write a Table Model Listener</a></div><div class="linkBHEAD"><a href="treeexpansionlistener.html">How to Write a Tree Expansion Listener</a></div><div class="linkBHEAD"><a href="treemodellistener.html">How to Write a Tree Model Listener</a></div><div class="linkBHEAD"><a href="treeselectionlistener.html">How to Write a Tree Selection Listener</a></div><div class="linkBHEAD"><a href="treewillexpandlistener.html">How to Write a Tree-Will-Expand Listener</a></div><div class="linkBHEAD"><a href="undoableeditlistener.html">How to Write an Undoable Edit Listener</a></div><div class="linkBHEAD"><a href="windowlistener.html">How to Write Window Listeners</a></div><div class="linkAHEAD"><a href="api.html">Listener API Table</a></div><div class="linkAHEAD"><a href="problems.html">Solving Common Event-Handling Problems</a></div></div>    </div>    <div id=MainFlow class=MainFlow_indented>            <span id=BreadCrumbs>                <a href=../../index.html target=_top>Home Page</a>                &gt;                <a href=../index.html target=_top>Creating a GUI with JFC/Swing</a>                &gt;                <a href=index.html target=_top>Writing Event Listeners</a>            </span>            <div class=NavBit>                <a target=_top href=caretlistener.html>&laquo;&nbsp;Previous</a>&nbsp;&bull;&nbsp;<a target=_top href=../TOC.html>Trail</a>&nbsp;&bull;&nbsp;<a target=_top href=componentlistener.html>Next&nbsp;&raquo;</a>            </div>            <div id=PageTitle>How to Write a Change Listener</div>            <blockquote>A change listener is similar to a <a href=propertychangelistener.html>property change listener</a>.A change listener is registered on an object &#151; typicallya component, but it could be another object, like a model &#151;and the listener is notified when the object has changed.The big difference from a property change listener is that achange listener is not notified of <em>what</em> has changed,but simply that the source object <em>has</em> changed. Therefore, a change listener is most useful whenit is only necessary to know when an object has changed in any way.<p>Three Swing components rely on change events for basic functionality &#151; sliders, color choosers and spinners.To learn when the value in a<a class="TutorialLink" target="_top" href="../components/slider.html">slider</a> changes,you need to register a change listener.Similarly, you need to register a change listener on a <a class="TutorialLink" target="_top" href="../components/colorchooser.html">color chooser</a> to be informed when the user chooses a new color.You register a change listener on a<a class="TutorialLink" target="_top" href="../components/spinner.html">spinner</a>, a component introduced in release 1.4, to be notified when the spinner's value changes.<p>Here is an example of change event handling code for a slider: <blockquote><pre><em>//...where initialization occurs:</em>framesPerSecond.addChangeListener(new SliderListener());...class SliderListener implements ChangeListener {    public void stateChanged(ChangeEvent e) {        JSlider source = (JSlider)e.getSource();        if (!source.getValueIsAdjusting()) {            int fps = (int)source.getValue();	    ...        }        }}</pre></blockquote>You can find the source file for <code>SliderDemo</code> in the<a class="TutorialLink" target="_top" href="../components/examples/index.html#SliderDemo">example index for Using Swing Components</a>.</blockquote><h3><a name="api">The Change Listener API</a></h3><blockquote><p align=center><a name="changelistener">The ChangeListener   Interface</a><p><em>Because <code>ChangeListener</code> has only one method,   it has no corresponding adapter class.</em><table border=1><tr><th align=left>Method</th><th align=left>Purpose</th></tr><tr><td><a class="APILink" target="_blank" href="http://java.sun.com/javase/6/docs/api/javax/swing/event/ChangeListener.html#stateChanged(javax.swing.event.ChangeEvent)">stateChanged(ChangeEvent)</a></td><td>Called when the listened-to component changes state.</td></tr></table><p align=center><a name="changeevent">The ChangeEvent Class</a><p><table border=1><tr><th align=left>Method</th><th align=left>Purpose</th></tr><tr><td><a class="APILink" target="_blank" href="http://java.sun.com/javase/6/docs/api/java/util/EventObject.html#getSource()">Object getSource()</a><br>(<em>in <code>java.util.EventObject</code></em>)</td><td>Returns the object that fired the event.</td></tr></table></blockquote><a name="eg"><h3>Examples that Use Change Listeners</h3></a><blockquote>The following table lists theexamples that use change listeners.<p><table><tr><th align=left> Example</th><th align=left> Where Described</th><th align=left> Notes</th></tr><tr valign=top><td> <a href="../components/examples/index.html#SliderDemo">     <code>SliderDemo</code></a> and     <br>     <a href="../components/examples/index.html#SliderDemo2">     <code>SliderDemo2</code></a>     <br>     <a href="../components/examples/index.html#SliderDemo3">     <code>SliderDemo3</code></a></td><td><a class="TutorialLink" target="_top" href="../components/slider.html">How to Use Sliders</a></td><td> Registers a change listener on a slider that     controls animation speed.     The change listener ignores the change events     until the user releases the slider.</td></tr><tr valign=top><td> <a href="../components/examples/index.html#ColorChooserDemo">     <code>ColorChooserDemo</code></a> and     <br>     <a href="../components/examples/index.html#ColorChooserDemo2">     <code>ColorChooserDemo2</code></a></td><td><a class="TutorialLink" target="_top" href="../components/colorchooser.html  ">How to Use Color Choosers</a></td><td> Uses a change listener on the selection model     of a color chooser to learn when the user changes the current color.</td></tr><tr valign=top><td> <a href="../components/examples/index.html#SpinnerDemo3">     <code>SpinnerDemo3</code></a></td><td><a class="TutorialLink" target="_top" href="../components/spinner.html#change">Detecting Spinner Value Changes</a> in<a class="TutorialLink" target="_top" href="../components/spinner.html">How to Use Spinners</a>.</td><td> Uses a change listener on a date-field spinner to change     the color of the text as the spinner's date changes.</td></tr><tr valign=top><td> <a href="../components/examples/index.html#SpinnerDemo4">     <code>SpinnerDemo4</code></a></td><td><a class="TutorialLink" target="_top" href="../components/spinner.html#change">Detecting Spinner Value Changes</a> in<a class="TutorialLink" target="_top" href="../components/spinner.html">How to Use Spinners</a>.</td><td> Uses a change listener on a spinner to cycle through     the gray scale as the spinner's value changes.</td></tr><tr valign=top><td> <a class="SourceLink" target="_blank" href="../components/examples/ConverterRangeModel.java"><code>ConverterRangeModel</code></a><br>     and its subclass,     <br><a class="SourceLink" target="_blank" href="../components/examples/FollowerRangeModel.java"><code>FollowerRangeModel</code></a></td><td><a class="TutorialLink" target="_top" href="../components/model.html">Using Models</a></td><td> Implement custom models for the sliders used     in the      <a href="../components/examples/index.html#Converter">     <code>Converter</code></a> demo.     Both models explicitly fire change events when necessary.</td></tr></table>        </blockquote>        <div class=NavBit>            <a target=_top href=caretlistener.html>&laquo; Previous</a>            &bull;            <a target=_top href=../TOC.html>Trail</a>            &bull;            <a target=_top href=componentlistener.html>Next &raquo;</a>        </div>    </div>    <div id=Footer><div id=TagNotes>    Problems with the examples? Try <a target="_blank"        href=../../information/run-examples.html>Compiling and Running        the Examples: FAQs</a>.    <br>    Complaints? Compliments? Suggestions? <a target="_blank"        href="http://developer.sun.com/contact/tutorial_feedback.jsp">Give    us your feedback</a>.<br><br>    <a target="_blank" href="../../information/copyright.html">Copyright</a>    1995-2006 Sun Microsystems, Inc.  All rights reserved.    <span id=Download></span></div>     </div>    <div class=PrintHeaders>        <b>Previous page:</b> How to Write a Caret Listener        <br><b>Next page:</b> How to Write a Component Listener    </div>    </body></html> 

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?