February 01, 2011
Mark Wielaard: New GPG key.
Finally created a new GPG key using gnupg. The old one was a DSA/1024 bits one and 8 years old. The new one is a RSA/2048 bits one. I will use the new one in the future to sign any release tarballs I might create. pub 2048R/57816A6A 2011-01-29 Key f...
More »
February 01, 2011
Andrew Hughes: [SECURITY] IcedTea6 1.7.8, 1.8.5, 1.9.5 Released!.
We are pleased to announce a new set of security releases, IcedTea6 1.7.8, IcedTea6 1.8.5 and IcedTea6 1.9.5.
This update contains the following security updates:
The IcedTea project provides a harness to build the source code from OpenJDK6 u...
More »
November/2024
Sun | Mon | Tue | Wed | Thu | Fri | Sat |
| | | | | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 |
20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | | | | | | | |
|
|
Returns values from SwingUtilities.invoke
Last week, I updated my local copy of the SwingX source code, modifying SwingXUtilities to inlcude an invokeLater and an invokeAndWait that support return values. I plan on checking in that code sometime today. In one of those strange coincidences, Swing links of the week pointed me to Jan Kotek's post: SwingUtilities.invokeAndWait with return value. It's a good article, but my solution was different.
To obtain a value, we will use a Callable (basically a Runnable that supports return values). I use FutureTask to wrap my Callable. A FutureTask is a Runnable, so it may be directly submitted to either of the core SwingUtilities invoke methods. The get method in FutureTask is the method that actually returns the value (it is blocking). So, we begin by creating a new invokeLater method to wrap SwingUtilities.invokeLater.
public static FutureTask invokeLater(Callable callable) {
FutureTask task = new FutureTask(callable);
SwingUtilities.invokeLater(task);
return task;
}
This method will not block the calling thread and now you have access to the FutureTask, enabling you to get the value (at some future point). Building on that, we can create a method that blocks, just as SwingUtilities.invokeAndWait does.
public static T invokeAndWait(Callable callable) throws InterruptedException,
InvocationTargetException {
try {
//b...
Date: November, 15 2010
Url: http://www.java.net/blog/kschaefe/archive/2010/11/15/returns-values-swingutilitiesinvoke
Others News
|