FREE Delivery in the UK.
Only 2 left in stock (more on the way).
Dispatched from and sold by Amazon.
Gift-wrap available.
Swing Hacks: Tips and Too... has been added to your Basket
+ £2.80 UK delivery
Used: Good | Details
Condition: Used: Good
Trade in your item
Get a £0.34
Gift Card.
Have one to sell?
Flip to back Flip to front
Listen Playing... Paused   You're listening to a sample of the Audible audio edition.
Learn more
See all 2 images

Swing Hacks: Tips and Tools for Killer GUIs Paperback – 11 Jun 2005

1 customer review

See all 2 formats and editions Hide other formats and editions
Amazon Price New from Used from
"Please retry"
£11.00 £0.01
£19.99 FREE Delivery in the UK. Only 2 left in stock (more on the way). Dispatched from and sold by Amazon. Gift-wrap available.

Frequently Bought Together

Swing Hacks: Tips and Tools for Killer GUIs + Swing: A Beginner's Guide + Java Swing
Price For All Three: £81.97

Buy the selected items together

Trade In this Item for up to £0.34
Trade in Swing Hacks: Tips and Tools for Killer GUIs for an Amazon Gift Card of up to £0.34, which you can then spend on millions of items across the site. Trade-in values may vary (terms apply). Learn more

Product details

  • Paperback: 546 pages
  • Publisher: O'Reilly Media; 1 edition (11 Jun. 2005)
  • Language: English
  • ISBN-10: 0596009070
  • ISBN-13: 978-0596009076
  • Product Dimensions: 15.2 x 2.7 x 22.9 cm
  • Average Customer Review: 5.0 out of 5 stars  See all reviews (1 customer review)
  • Amazon Bestsellers Rank: 666,224 in Books (See Top 100 in Books)
  • See Complete Table of Contents

More About the Authors

Discover books, learn about writers, and more.

Product Description


"It might sound like a 1950s pulp murder mystery novel, but Swing Hacks is actually a guide for Java developers that's packed with ways to get the most from the Swing application program interface. It's no Swing bible, there's already quite a few of those, but it's a great reference guide for all the cool stuff. The book is especially suited to client-focused Java developers who want to deliver polished applications, those who want to push Java to its limits, and coders who want to learn powerful techniques for their own applications. It has the typical depth you'd expect from an O'Reilly title and the practical approach ensures it doesn't get sidetracked. The chapters on Transparent & Animated Windows and Rendering are particularly helpful." .net magazine, September 2005

From the Publisher

Swing Hacks helps Java developers move beyond the basics of Swing, the graphical user interface (GUI) standard since Java 2. The unique Hacks format provides short advanced tricks that you can instantly apply to increase your competency with interface-building tools. Example hacks include how to filter lists, power-up trees and tables, and add drag-and-drop support.

Inside This Book

(Learn More)
Browse Sample Pages
Front Cover | Copyright | Table of Contents | Excerpt | Index | Back Cover
Search inside this book:

What Other Items Do Customers Buy After Viewing This Item?

Customer Reviews

5.0 out of 5 stars
5 star
4 star
3 star
2 star
1 star
See the customer review
Share your thoughts with other customers

Most Helpful Customer Reviews

2 of 2 people found the following review helpful By Mr. S. Crook on 21 Nov. 2007
Format: Paperback Verified Purchase
Something of a typical O'Reilly book. Concise, well organised and with something to suit everyone (if you're a Swing programmer) and even if you've been programming Swing for a while (I have).

The code is clear (and well explained) and should be easy to transfer to an existing project without too much fuss.

Some of the hacks are borderline Swing, controlling ITunes and putting things into Jar files spring to mind. The only things that're out of date are the hacks on sorting and filtering JTables and drawing anti-aliased text. But they are still useful for pre 1.6 JDK developers. Even if some of the hacks aren't directly useful (the calendar component springs to mind), they often give an insight into how a particular part of Swing works and mean that it'll be easier getting some other task done.

Of course you could find much of this out there on the WEB, but the book is cheap and you get it all in one place without having to spend ages trawling with google. It's also quite good to browse, and you never know, you might find something you'd not thought of using.

The only thing that's missing (for me) would have been something that involved fiddling with a Swing components UI class or perhaps it's look and feel.
Comment Was this review helpful to you? Yes No Sending feedback...
Thank you for your feedback. If this review is inappropriate, please let us know.
Sorry, we failed to record your vote. Please try again

Most Helpful Customer Reviews on (beta) 24 reviews
34 of 35 people found the following review helpful
Finally, a great Swing 'power user book' 11 July 2005
By Martin Backe - Published on
Format: Paperback
I'm surprised that it's taken this many years for a book like this to make it to market. There are good Swing books available, but they rarely go beyond the basics. As soon as I heard about this one, I pre-ordered and began waiting.

It essentially consists of 99 power 'tricks' for creating WOW effects in your user interfaces. Some are eye candy that you'd probably never put in a production application, but I'd say 80%+ could be applied to every day app's. I'll be spending many hours pouring over the details of each hack to gain the deep insight offered by this book.

This book is going to allow me to reach the next level of Swing polish. I find it hard to believe that most people that consider themselves Swing developers wouldn't gain a lot from reading this book. Run, don't walk, and get this book.

There are a few minor disappointments, but I emphasis minor. The production quality seems a bit rushed as there was quite a few obvious errors in the preface alone, although not of a technical nature. Perhaps only the preface escaped any editing oversight, since the remainder of the book had nothing that jumped out at me.

As usual today, the examples are all available for download from OReilly's website. But I wonder why they didn't take the extra step of providing runnable versions of each hack. You have to compile each one - a minor annoyance. When browsing the book it would have been cool to be able to just double-click an associated jar file to see the effect in action.

The author clearly uses a Macintosh, since all (perhaps I missed one or two) the screen shots are from a Mac, and some of the Hacks relate to duplicating Mac OS features. Seeing that the majority of Swing applications are probably deployed on Windows machines, a bit more emphasis on Windows would have been more appropriate. And the screen shots could have used a cross-platform look-and-feel instead of the Mac OS.

In short summary, the good, the bad, and the ugly...

The Good: Insanely great tricks for getting the most out of Swing.

The Bad: Perhaps too much Macintosh focus and not enough Windows (XP).

The Ugly: Probably a bit rushed out the door since there are some glaring production mistakes, like chapter summaries without the chapter names or numbers, etc.
19 of 19 people found the following review helpful
Pretty good book on Swing insider tricks 15 Dec. 2005
By calvinnme - Published on
Format: Paperback
This book is a pretty good one in the O'Reilly hack series, showing 100 specific tricks that you can do with Swing that you don't normally find in books or websites on the subject.

Chapter 6, "Transparent and Animated Windows," is one of my favorites because it helps my Swing components look a little more Mac-like. Creating transparent windows, creating frame-anchored sheets for dialogs, animating the sheet dialog, and sliding notes out from the taskbar are some of the hacks in that chapter. All it takes is a little knowledge of the Swing heavyweight component glass pane, and you're up and running. Buried in Hack 54 is an invaluable gem: Want to antialias all the text on your Swing application without touching any code? No problem, just add the following definition to the command line when you invoke your application:

java -Dswing.aatext=true MyStartClass

Chapter 10, "Audio," is also a good chapter to look at, because many Swing programmers tend to overlook sound as an important part of their application, plus since I am a multimedia programmer it is the kind of topic I would enjoy anyways. Maybe you want the swishing sound of a folder closing or of a clanging trash can when you throw away something in your Swing application. Hacks 70 through 73 discuss playing sounds with applets, JavaSound, the Java Media Framework, and Quicktime for Java technologies. Hack 74 shows you how to add MP3 support to the Java Media Framework API as well. This is not really a Swing hack, but it is simple to do and interesting.

Chapter 12, "Miscellany," presents us with some obvious tricks and some very important tips. For example, most programmers know that whenever they write event-handling code, such as an ActionListener that gets called when a button is pressed, they need to handle things quickly. You never want to spend any more time than you have to processing on the event-handling thread, or your GUI will become nonresponsive and be unable to repaint itself efficiently. Taking on a larger task often means kicking off a separate "worker" thread from the event-dispatching thread and letting that run in the background. However, what many beginning Swing programmers forget is that Swing is not thread-safe, which means that if you have GUI updates from that worker thread, you should always execute them back on the event-dispatching thread. In short, this means you should create another Runnable thread that kicks off serially with other GUI updates on the event-dispatching thread. You can do so by executing it with a call to SwingUtilities.invokeLater(myGUIUpdateThread).

Now for the few hacks that I did not like:

Hack #17 "Reorder a JList with Drag-and-Drop" is a good example of something potentially useful that just doesn't quite look right when you code it up and execute it.

Hack #42 "Make Your Frame Dissolve", is so bad it's almost funny, and would best be described as a failed hack.

Hack #48 "Make Text Components Searchable" is a really weak implementation, not even bothering to use highlighters. There's a much better example in Kim Topley's "Core Swing: Advanced Programming", which is out of print though it has some worthwhile content even now.

Hack #59 "Create a Color Eyedropper" is so visually bad that you will cringe when it executes.

However, I would not let these few failed hacks detract from the overall value of such a unique book. However, you might want to go to O'Reilly & Associates website and download the code first to see if this book is really up your alley before you purchase it. I see that the table of contents is not listed by Amazon, so I do that here for the purpose of completeness:

Chapter 1. Basic JComponents

Chapter 2. Lists and Combos

Chapter 3. Tables and Trees

Chapter 4. File Choosers

Chapter 5. Windows, Dialogs, and Frames

Chapter 6. Transparent and Animated Windows

Chapter 7. Text

Chapter 8. Rendering

Chapter 9. Drag-and-Drop

Chapter 10. Audio

Chapter 11. Native Integration and Packaging

Chapter 12. Miscellany
8 of 9 people found the following review helpful
Beyond the Tip of the Iceberg 17 Nov. 2005
By Ernest Friedman-Hill - Published on
Format: Paperback
Most Java programmers, if they use the Swing GUI toolkit at all, use it in a fairly superficial way, accepting default configurations for most components and letting the built-in "look and feel" supply the appearance and behavior. The more knowledgeable programmer might know how to adopt the platform-specific look and feels on each platform. But it's quite rare for a Swing programmer to customize things much beyond that.

All of which is really a shame. Swing is like that cliched iceberg: just the spare top of it floats above the surface, with the vast bulk of possibility submerged and lurking in the depths. In this clever book, Marinacci and Adamson show you how to mine those depths and come up with GUIs that don't look like Java applications at all.

The book is a collection of recipes for achieving some really spectacular effects. I appreciated that lot of thought seems to have been put into making the examples small enough for a book. There are only a few multi-page listings among the 100 recipes between these covers.

If I have a complaint, it's that the book has a fairly obvious slant toward the Mac OS X platform. Many of the hacks are devoted to making your application emulate some OS X feature or another. In a way, this is justifiable -- after all, OS X's GUI includes many innovations not included in Swing by default -- but it's likely to leave those folks primarily interested in making Swing fit in better on Windows a little jealous.
5 of 5 people found the following review helpful
Interesting but not very useful 2 Feb. 2008
By Dmitri Petrov - Published on
Format: Paperback Verified Purchase
This book gives a good set of more in depth approaches to building GUI in Swing. While reading it I had a lot of 'that's interesting' moments. However, a lot of the examples feel more like an idea of what needs to be done to achieve something rather than a complete (and robust) implementation. What is more disappointing, I found that some advice in the book is misleading. For example Hack #57 demonstrates how to use the glass pane to intercept and riderect mouse events. Unfortunately, as demonstrated, this approach doesn't work at all in the applications that use any components that have menus. A very significant shortcoming, in my opinion, that is not mentioned in the book.
5 of 6 people found the following review helpful
concise examples across much of Swing 15 July 2005
By W Boudville - Published on
Format: Paperback
If you program in Java, often you have graphical elements in a user interface. The original default AWT widgets have been largely supplanted by Swing widgets. These are more powerful and usually easier to program, as shown in this text.

While the hacks are not meant to be a comprehensive sweep over all the Swing widgets, there is enough variety amongst them to easily show you the abilities. The coding is useful in providing relatively succinct examples. UI programming is often very wordy in the source code. But the hack examples convey working solutions notable for their brevity. In and of itself, this is a virtue of the book. For it shows that Swing can be concisely applied. Less typing, and easier to understand. Which also means easier to debug.
Were these reviews helpful? Let us know