listdatalistener.html

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

HTML
549
字号
                            <a href="../../search.html" target="_blank">Search the                                Tutorials</a>                            <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="linkBHEAD"><a href="changelistener.html">How to Write a Change Listener</a></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="nolinkBHEAD">How to Write a List Data Listener</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=keylistener.html>&laquo;&nbsp;Previous</a>&nbsp;&bull;&nbsp;<a target=_top href=../TOC.html>Trail</a>&nbsp;&bull;&nbsp;<a target=_top href=listselectionlistener.html>Next&nbsp;&raquo;</a>            </div>            <div id=PageTitle>How to Write a List Data Listener</div>            <blockquote>List data events occur when the contents of a mutable<a class="TutorialLink" target="_top" href="../components/list.html">list</a> change.Since the model &#151; not the component &#151; fires these events,you have to register a list data listener with the list model.If you haven't explicitly created a list with a mutable list model,then your list is immutable, and its model will not fire these events.<blockquote><hr><strong>Note:</strong>&nbsp;<a class="TutorialLink" target="_top" href="../components/combobox.html">Combo box</a> models also fire list data events.However, you normally don't need to know about themunless you're <a class="TutorialLink" target="_top" href="../components/combobox.html#datsun">creating a custom combo box model</a>.<hr></blockquote><p>The following example demonstrates list data events on a mutable list:<p><center><IMG SRC="../../figures/uiswing/events/ListDataEventDemo.png" WIDTH="417" HEIGHT="324" ALIGN="BOTTOM" ALT=""></center></p><blockquote><hr><strong>Try this:</strong>&nbsp;<ol><li> <a href="http://java.sun.com/docs/books/tutorialJWS/uiswing/events/examples/ListDataEventDemo.jnlp">Run     ListDataEventDemo</a> using     <a href=http://java.sun.com/products/javawebstart>     Java<sup><font size=-2>TM</font></sup> Web Start</a>.     Or, to compile and run the example yourself,     consult the     <a href="examples/index.html#ListDataEventDemo">example index</a>.<li> Type in the name of your favorite ski resort and click the     <strong>Add</strong> button.  An <code>intervalAdded</code>     event was fired.<li> Select a few continguous items in the list and click the     <strong>Delete</strong> button. An <code>intervalRemoved</code>     event was fired.<li> Select one item and move it up or down in the list with the arrow buttons.     Two <code>contentsChanged</code> events are fired &#151; one for     the item that moved and one for the item that was displaced.</ol><hr></blockquote>You can find the demo's code in<a class="SourceLink" target="_blank" href="examples/ListDataEventDemo.java"><code>ListDataEventDemo.java</code></a>.Here's the code that registersa list data listener on the list modeland implements the listener:<blockquote><pre>//<em>...where member variables are declared...</em>private DefaultListModel listModel;...//Create and populate the list modellistModel = new DefaultListModel();...listModel.addListDataListener(new MyListDataListener());class MyListDataListener implements ListDataListener {    public void contentsChanged(ListDataEvent e) {        log.append("contentsChanged: " + e.getIndex0() +	           ", " + e.getIndex1() + newline);    }    public void intervalAdded(ListDataEvent e) {        log.append("intervalAdded: " + e.getIndex0() +	           ", " + e.getIndex1() + newline);    }    public void intervalRemoved(ListDataEvent e) {        log.append("intervalRemoved: " + e.getIndex0() +	           ", " + e.getIndex1() + newline);    }} </pre></blockquote></blockquote><h3><a name="api">The List Data Listener API</a></h3><blockquote><p align=center><a name="listdatalistener">The ListDataListener   Interface</a><p><em><code>ListDataListener</code> 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/ListDataListener.html#intervalAdded(javax.swing.event.ListDataEvent)">intervalAdded(ListDataEvent)</a></td><td> Called when one or more items have been added to the list.</td></tr><tr><td><a class="APILink" target="_blank" href="http://java.sun.com/javase/6/docs/api/javax/swing/event/ListDataListener.html#intervalRemoved(javax.swing.event.ListDataEvent)">intervalRemoved(ListDataEvent)</a></td><td> Called when one or more items have been removed from the list.</td></tr><tr><td><a class="APILink" target="_blank" href="http://java.sun.com/javase/6/docs/api/javax/swing/event/ListDataListener.html#contentsChanged(javax.swing.event.ListDataEvent)">contentsChanged(ListDataEvent)</a></td><td> Called when the contents of one or more items in the list have changed.</td></tr></table><p align=center><a name="listdataevent">The ListDataEvent API</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> Return the object that fired the event.</td></tr><tr><td><a class="APILink" target="_blank" href="http://java.sun.com/javase/6/docs/api/javax/swing/event/ListDataEvent.html#getIndex0()">int getIndex0()</a></td><td> Return the index of the first item     whose value has changed.</td></tr><tr><td><a class="APILink" target="_blank" href="http://java.sun.com/javase/6/docs/api/javax/swing/event/ListDataEvent.html#getIndex1()">int getIndex1()</a></td><td> Return the index of the last item     whose value has changed.</td></tr><tr><td><a class="APILink" target="_blank" href="http://java.sun.com/javase/6/docs/api/javax/swing/event/ListDataEvent.html#getType()">int getType()</a></td><td>Return the event type.  The possible values are:    <code>CONTENTS_CHANGED</code>, <code>INTERVAL_ADDED</code>,    or <code>INTERVAL_REMOVED</code>.</td></tr></table></blockquote><a name="eg"><h3>Examples that Use List Data Listeners</h3></a><blockquote>The following table lists theexamples that use list data 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="examples/index.html#ListDataEventDemo"><code>ListDataEventDemo</code></a></td><td> This section</td><td> Reports all list data events that occur on a list.</td></tr></table>        </blockquote>        <div class=NavBit>            <a target=_top href=keylistener.html>&laquo; Previous</a>            &bull;            <a target=_top href=../TOC.html>Trail</a>            &bull;            <a target=_top href=listselectionlistener.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 Key Listener        <br><b>Next page:</b> How to Write a List Selection Listener    </div>    </body></html> 

⌨️ 快捷键说明

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