Sold Out
Book Categories |
Foreword | xxiii | |
Preface | xxv | |
Acknowledgments | xxix | |
About the cover illustration | xxxi | |
Part I | Foundations | 1 |
1 | Swing overview | 3 |
1.1 | AWT | 3 |
1.2 | Swing | 4 |
1.3 | MVC architecture | 7 |
1.4 | UI delegates and PLAF | 11 |
2 | Swing mechanics | 15 |
2.1 | JComponent properties, sizing, and positioning | 15 |
2.2 | Event handling and dispatching | 19 |
2.3 | Multithreading | 23 |
2.4 | Timers | 27 |
2.5 | AppContext services | 28 |
2.6 | Inside Timers and the TimerQueue | 30 |
2.7 | JavaBeans architecture | 31 |
2.8 | Fonts, colors, graphics, and text | 38 |
2.9 | Using the Graphics clipping area | 47 |
2.10 | Graphics debugging | 49 |
2.11 | Painting and validation | 54 |
2.12 | Focus Management | 61 |
2.13 | Keyboard input | 66 |
Part II | The basics | 71 |
3 | Frames, panels, and borders | 73 |
3.1 | Frames and panels overview | 73 |
3.2 | Borders | 81 |
3.3 | Creating a custom border | 86 |
4 | Layout managers | 89 |
4.1 | Layouts overview | 89 |
4.2 | Comparing common layout managers | 94 |
4.3 | Using GridBagLayout | 98 |
4.4 | Choosing the right layout | 114 |
4.5 | Custom layout manager, part I: labels/field pairs | 121 |
4.6 | Custom layout manager, part II: common interfaces | 128 |
4.7 | Dynamic layout in a JavaBeans container | 140 |
5 | Labels and buttons | 155 |
5.1 | Labels and buttons overview | 155 |
5.2 | Custom buttons, part I: transparent buttons | 165 |
5.3 | Custom buttons, part II: polygonal buttons | 171 |
5.4 | Custom buttons, part III: tooltip management | 180 |
6 | Tabbed panes | 187 |
6.1 | JTabbedPane | 187 |
6.2 | A dynamically changeable tabbed pane | 189 |
6.3 | Tab validation | 197 |
7 | Scrolling panes | 202 |
7.1 | JScrollPane | 202 |
7.2 | Grab-and-drag scrolling | 211 |
7.3 | Scrolling programmatically | 213 |
8 | Split panes | 220 |
8.1 | JSplitPane | 220 |
8.2 | Basic split pane example | 221 |
8.3 | Synchronized split pane dividers | 224 |
9 | Combo boxes | 227 |
9.1 | JComboBox | 227 |
9.2 | Basic JComboBox example | 232 |
9.3 | Custom model and renderer | 238 |
9.4 | Combo boxes with memory | 246 |
9.5 | Custom editing | 253 |
10 | List boxes and Spinners | 256 |
10.1 | JList | 256 |
10.2 | Basic JList example | 261 |
10.3 | Custom rendering | 264 |
10.4 | Processing keyboard input and searching | 273 |
10.5 | List of check boxes | 276 |
10.6 | JSpinner | 281 |
10.7 | Using JSpinner to select numbers | 283 |
10.8 | Using JSpinner to select dates | 285 |
10.9 | Using JSpinner to select a value from a list | 286 |
10.10 | Extending the functionality of JSpinner | 288 |
11 | Text components and undo | 292 |
11.1 | Text components overview | 294 |
11.2 | Using the basic text components | 304 |
11.3 | JFormattedTextField | 306 |
11.4 | Basic JFormattedTextField example | 310 |
11.5 | Using Formats and InputVerifier | 312 |
11.6 | Formatted Spinner example | 319 |
11.7 | Undo/redo | 321 |
12 | Menus, toolbars, and actions | 332 |
12.1 | Menus, toolbars, and actions overview | 332 |
12.2 | Basic text editor, part I: menus | 346 |
12.3 | Basic text editor, part II: toolbars and actions | 355 |
12.4 | Basic text editor, part III: custom toolbar components | 359 |
12.5 | Basic text editor, part IV: custom menu components | 366 |
13 | Progress bars, sliders, and scroll bars | 373 |
13.1 | Bounded-range components overview | 373 |
13.2 | Basic JScrollBar example | 382 |
13.3 | JSlider date chooser | 387 |
13.4 | JSliders in a JPEG image editor | 394 |
13.5 | JProgressBar in an FTP client application | 406 |
14 | Dialogs | 418 |
14.1 | Dialogs and choosers overview | 418 |
14.2 | Constructing a Login dialog | 432 |
14.3 | Adding an About dialog | 436 |
14.4 | JOptionPane message dialogs | 439 |
14.5 | Customizing JColorChooser | 445 |
14.6 | Customizing JFileChooser | 451 |
Part III | Advanced topics | 469 |
15 | Layered panes | 471 |
15.1 | JLayeredPane | 473 |
15.2 | Using JLayeredPane to enhance interfaces | 473 |
15.3 | Creating a custom MDI | 475 |
16 | Desktops & internal frames | 476 |
16.1 | JDesktopPane and JInternalFrame | 476 |
16.2 | Cascading and outline dragging mode | 484 |
16.3 | Adding MDI to a text editor application | 487 |
16.4 | Examples from the first edition | 495 |
17 | Trees | 498 |
17.1 | JTree | 498 |
17.2 | Basic JTree example | 509 |
17.3 | Directory tree, part I: dynamic node retrieval | 514 |
17.4 | Directory tree, part II: popup menus, programmatic navigation, node creation, renaming, and deletion | 526 |
17.5 | Directory tree, part III: tooltips | 533 |
18 | Tables | 536 |
18.1 | JTable | 536 |
18.2 | Stocks table, part I: basic JTable example | 552 |
18.3 | Stocks table, part II: custom renderers | 559 |
18.4 | Stocks table, part III: sorting columns | 564 |
18.5 | Stocks table, part IV: JDBC | 571 |
18.6 | Stocks table, part V: column addition and removal | 576 |
18.7 | Expense report application | 580 |
18.8 | Expense report application with variable height rows | 591 |
18.9 | A JavaBeans property editor | 595 |
19 | Inside text components | 605 |
19.1 | Text package overview | 605 |
20 | Constructing an HTML Editor Application | 634 |
20.1 | HTML editor, part I: introducing HTML | 635 |
20.2 | HTML editor, part II: managing fonts | 642 |
20.3 | HTML editor, part III: document properties | 650 |
20.4 | HTML editor, part IV: working with HTML styles and tables | 667 |
20.5 | HTML editor, part V: clipboard and undo/redo | 677 |
20.6 | HTML editor, part VI: advanced font management | 682 |
20.7 | HTML editor, part VII: find and replace | 695 |
20.8 | HTML editor, part IX: spell checker (using JDBC and SQL) | 708 |
21 | Pluggable look and feel | 723 |
21.1 | Pluggable look and feel overview | 723 |
21.2 | Custom look and feel, part I: using custom resources | 733 |
21.3 | Custom look and feel, part II: creating custom UI delegates | 741 |
21.4 | Examples from the first edition | 751 |
Part IV | Special topics | 755 |
22 | Printing | 757 |
22.1 | Java printing overview | 757 |
22.2 | Printing images | 762 |
22.3 | Print preview | 767 |
22.4 | Printing text | 776 |
22.5 | Printing tables | 781 |
23 | Constructing an XML editor | 789 |
23.1 | XML editor, part I: viewing nodes | 790 |
23.2 | XML editor, part II: viewing attributes | 796 |
23.3 | XML editor, part III: editing nodes and attributes | 801 |
23.4 | XML editor, part IV: adding, editing, and removing nodes and attributes | 808 |
23.5 | XML editor, part V: custom drag and drop | 818 |
24 | Drag and drop | 826 |
24.1 | Drag and drop overview | 826 |
24.2 | Adding drag and drop support within Basic Text Editor | 830 |
24.3 | Drag and drop files to Base Text Editor | 832 |
24.4 | Drag and drop with Java objects | 834 |
A | Java Web Start | 845 |
B | Resources | 849 |
Index | 853 |
Login|Complaints|Blog|Games|Digital Media|Souls|Obituary|Contact Us|FAQ
CAN'T FIND WHAT YOU'RE LOOKING FOR? CLICK HERE!!! X
You must be logged in to add to WishlistX
This item is in your Wish ListX
This item is in your CollectionSwing
X
This Item is in Your InventorySwing
X
You must be logged in to review the productsX
X
X
Add Swing, Intended for experienced and advanced Java developers, more than half of this book consists of example applications that Java developers may encounter on a daily basis. The extensive examples build on top of one another to solve real-world problems. Five , Swing to the inventory that you are selling on WonderClubX
X
Add Swing, Intended for experienced and advanced Java developers, more than half of this book consists of example applications that Java developers may encounter on a daily basis. The extensive examples build on top of one another to solve real-world problems. Five , Swing to your collection on WonderClub |