没有合适的资源?快使用搜索试试~ 我知道了~
首页Apress - The Definitive Guide to Java Swing, Third Edition.pdf
Welcome to Learn Java 5.0 Swing in a Nutshell for Dummies in 21 Days. Since the beginning of Java time (1995), the component libraries have been actively evolving. What began as a small set of nine AWT components, plus menus and containers, has grown to a more complete and complex set of around 50 Swing components—all just to create graphical user interfaces (GUIs) for your Java client-side programs. That’s where this book comes in. Its purpose is to make your life easier in creating those GUIs
资源详情
资源评论
资源推荐

The Definitive Guide to
Java Swing
Third Edition
JOHN ZUKOWSKI

The Definitive Guide to Java Swing, Third Edition
Copyright © 2005 by John Zukowski
All rights reserved. No part of this work may be reproduced or transmitted in any form or by any means,
electronic or mechanical, including photocopying, recording, or by any information storage or retrieval
system, without the prior written permission of the copyright owner and the publisher.
ISBN (pbk): 1-59059-447-9
Printed and bound in the United States of America 9 8 7 6 5 4 3 2 1
Trademarked names may appear in this book. Rather than use a trademark symbol with every occurrence
of a trademarked name, we use the names only in an editorial fashion and to the benefit of the trademark
owner, with no intention of infringement of the trademark.
Lead Editor: Steve Anglin
Technical Reviewer: Robert Castaneda
Editorial Board: Steve Anglin, Dan Appleman, Ewan Buckingham, Gary Cornell, Tony Davis, Jason Gilmore,
Jonathan Hassell, Chris Mills, Dominic Shakeshaft, Jim Sumser
Assistant Publisher: Grace Wong
Project Manager: Beth Christmas
Copy Edit Manager: Nicole LeClerc
Copy Editor: Marilyn Smith
Production Manager: Kari Brooks-Copony
Production Editor: Ellie Fountain
Compositor: Susan Glinert
Proofreaders: Linda Seifert, Liz Welch
Indexer: Michael Brinkman
Artist: Kinetic Publishing Services, LLC
Cover Designer: Kurt Krames
Manufacturing Manager: Tom Debolski
Distributed to the book trade in the United States by Springer-Verlag New York, Inc., 233 Spring Street,
6th Floor, New York, NY 10013, and outside the United States by Springer-Verlag GmbH & Co. KG,
Tiergartenstr. 17, 69112 Heidelberg, Germany.
In the United States: phone 1-800-SPRINGER, fax 201-348-4505, e-mail orders@springer-ny.com, or visit
http://www.springer-ny.com. Outside the United States: fax +49 6221 345229, e-mail orders@springer.de,
or visit http://www.springer.de.
For information on translations, please contact Apress directly at 2560 Ninth Street, Suite 219, Berkeley, CA
94710. Phone 510-549-5930, fax 510-549-5939, e-mail info@apress.com, or visit http://www.apress.com.
The information in this book is distributed on an “as is” basis, without warranty. Although every precaution
has been taken in the preparation of this work, neither the author(s) nor Apress shall have any liability to
any person or entity with respect to any loss or damage caused or alleged to be caused directly or indirectly
by the information contained in this work.
The source code for this book is available to readers at http://www.apress.com in the Downloads section.

iii
Contents at a Glance
About the Author . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . xix
About the Technical Reviewers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . xxi
Acknowledgments . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . xxiii
Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . xxv
CHAPTER 1 Swing Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1
CHAPTER 2 Event Handling with the Swing Component Set . . . . . . . . . . . . . . . . 17
CHAPTER 3 The Model-View-Controller Architecture . . . . . . . . . . . . . . . . . . . . . . 59
CHAPTER 4 Core Swing Components . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 67
CHAPTER 5 Toggle Buttons . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 115
CHAPTER 6 Swing Menus and Toolbars . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 151
CHAPTER 7 Borders . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 211
CHAPTER 8 Root Pane Containers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 235
CHAPTER 9 Pop-Ups and Choosers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 267
CHAPTER 10 Layout Managers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 343
CHAPTER 11 Advanced Swing Containers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 377
CHAPTER 12 Bounded Range Components . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 419
CHAPTER 13 List Model Controls . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 451
CHAPTER 14 Spinner Model Controls . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 509
CHAPTER 15 Basic Text Components . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 521
CHAPTER 16 Advanced Text Capabilities . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 585
CHAPTER 17 Trees . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 623
CHAPTER 18 Tables . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 675
CHAPTER 19 Drag-and-Drop Support . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 729
CHAPTER 20 The Pluggable Look and Feel Architecture . . . . . . . . . . . . . . . . . . . 741
CHAPTER 21 The Undo Framework . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 783

iv
■CONTENTS AT A GLANCE
CHAPTER 22 Accessibility . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 805
APPENDIX UI Manager Properties . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 813
INDEX . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 847

v
Contents
About the Author . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . xix
About the Technical Reviewers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . xxi
Acknowledgments . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . xxiii
Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . xxv
■CHAPTER 1 Swing Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1
Getting to Know the Swing Components . . . . . . . . . . . . . . . . . . . . . . . . . . . 2
AWT Component Replacements . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3
Non-AWT Upgraded Components . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5
Event Handling and Layout Management . . . . . . . . . . . . . . . . . . . . . . . . . 10
Undo Framework . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11
SwingSet Demonstration . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11
Swing Component to Chapter Mapping . . . . . . . . . . . . . . . . . . . . . . . . . . . 12
Summary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15
■CHAPTER 2 Event Handling with the Swing Component Set . . . . . . . . . 17
Delegation-Based Event Handling . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17
Event Delegation Model . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17
Event Listeners As Observers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19
Multithreaded Swing Event Handling . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21
Using SwingUtilities for Mouse Button Identification . . . . . . . . . . . . 23
Using Property Change Listeners As Observers . . . . . . . . . . . . . . . . 26
Managing Listener Lists. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29
Timer Class . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34
Swing-Specific Event Handling . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37
Action Interface. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37
AbstractAction Class. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 38
KeyStroke Class . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41
Using Mnemonics and Accelerators . . . . . . . . . . . . . . . . . . . . . . . . . . 46
Contents
剩余911页未读,继续阅读















安全验证
文档复制为VIP权益,开通VIP直接复制

评论2