Domain: jgoodies.com
Stories and comments across the archive that link to jgoodies.com.
Comments · 37
-
Re:A simple search
If you're going to go for a graphical tool, then go from easy to awesome. As long as you have a JVM, just click on the Webstart link and go!
:-) -
Re:Swing Sucks
While I agree with most of your post, you should check out the Metamorphosis Demo from JGoodies.com. It really does wonders to make an app feel more native on Windows.
-
Re:Huge oversight on Sun's partJGoodies Forms. It's what GridBagLayout should have been.
--Rob
-
Re:Genius... lets re-invent Java...Check out JDiskReport as an example of what a good developer can do with Java. Very useful program. Even our IT Support guy loves it..
I have a suspicion that some apps are slow simply because they are coded by 'GUI' oriented coders who dont prioritize writing efficient code (ie minimising object creation etc) as its often harder to maintain because its not the immediate solution that comes to mind?
When my firm wanted a program to index some database tables but needed to run on different platforms and against different databases I wrote it in Java using JDBC. They were all worried it would be slow, but it blazes along and is completely Database bound in execution time.
-
Re:GUI applications
Check out the apps here:
http://www.jgoodies.com/
JDiskReport in particular is fast and a nice GUI. Doesn't look native on Windows, but still quite nice. -
Re:WinDir
http://www.jgoodies.com/freeware/jdiskreport/
Cross-platform, pretty charts. -
Re:WinDir
I dunno guys... I still prefer JDiskReport. Admittedly it's not open source but it is freeware.
Either way this form of application is a lifesaver. I couldn't even begin to count how many times it's helped me find some weird temp file that got dumped somewhere and is now taking up a few hundred meg...
-
Re:Re-evaluate.
Use of JGoodies JDisk Report helps me find old & large files easily, on any platform, and take appropriate steps to eradicate the primary offenders. The OP needs a $50 DVD burner and a spool of DVD's rather than that much HDD storage for home.
-
Re:Browser shmouser
Java code runs slow enough to make it impractical for desktop apps.
Utter nonsense. Do you use Azureus? Perhaps you've played WURM Online? Do you need to clean up your hard drive?
The Java is slow myth is a load of hogwash that opponents of the technology use to justify their stance against it. It's simply not true, and hasn't been true for a very long time. And if you don't believe me, talk to NASA. -
Re:torrent
There is plenty of Java/Swing "done right" out there. For example: http://www.jgoodies.com/freeware/jdiskreport/ is small and sweet. And then there is this sightings list: http://java.sun.com/products/jfc/tsc/sightings/S2
1 .html -
Re:Java -- then why not use SWT??...
I am surprised why not many developers are using SWT to improve the GUI.
SWT has just as many disadvantages as advantages. It's really just an alternative to Swing, not "better" as many may claim. Azureus is one of my favorite programs, but its GUI also has a large number of minor issues on my Mac because of the SWT GUI. Had it used Swing, it would have been just as snappy as JEdit, Netbeans, and a few other Swing GUIs I run.
Really, I have no grudge against IBM for releasing SWT, but programmers need to be careful not to get swept up into the fanboyish "It's new, thus better!" take on things. That same sort of unchecked enthusiasm was what let Microsoft take over the market with Windows so long ago. Only *after* geeks everywhere proclaimed their love for Windows did they finally wake up and say, "Hey, this sucks!"
An interesting link for you: http://www.jgoodies.com/
The Metamorphasis app is particularly interesting. It was originally designed to show that Swing can successfully replicate the L&F of SWT. ;-) -
Re:The concessions
When I start a desktop application up that is written in Java it feels sluggish.
I assume you have a fairly recent JVM installed, no? Click here, use it to clean out your hard drive, and tell me if it improves your impression at all. Another really great Java app is Azureus. Are you already using it perhaps? There also used to be a really great Gnutella client called Furi up until Limewire stunk up the place. (In all fairness to Limewire, it has gotten better too. But they really need to ditch the custom L&F for something more platform standard.)
I suppose it's something of a double edged sword. As Java gets better fewer people realize that it's Java. Which means that the old ideas never die.
If you want people to stop calling Java slow, then by all means, speed it up some more, but don't get upset when people call a spade a spade, and don't call them stupid for doing so.
*sigh* The Swing GUI is actually running faster than Windows apps. Various tests have been done that have shown that during heavy GUI updates Windows programs skip several updates while the Java program always displayed every update in the same period of time.
If I can ask an honest question, what was the last Java GUI you used? Be honest, because I'm really curious at what is continuing to give Java a bad name.
All programming languages suck.
True 'dat.
Correct me if I'm wrong, but there's still difficulty simply distributing it, isn't there?
You're wrong. Java is completely free to bundle in binary form, and the Java Research License on the Mustang development path only requires that any recipients agree to the JRL license. No commerical use of the source code is allowed without negotiating a license with Sun.
As far as I can interpret the license, there is no issue with bundling it with Linux OSes. However, the upper-echelons of the OSS community have demonized the JVM and have found a few nits to pick. I'm already working with Sun to get clarification for them since the ones I've talked to don't want to do a tiny bit of legwork.
Or do you define "main OSS community" as "the subset of OSS developers that don't like Java", in which case that's pretty much a tautology and not worth mentioning?
More or less what is considered the "movers and shakers" of the OSS community. For example, we've heard from both Stallman and de Icaza about how "evil" Java is. Personally, I just think they're jealous (especially de Icaza) but it doesn't help Java's image any.
I don't feel the need to specifically attack Stallman for it though, and I think it's unjustified when you do it.
Sorry, but he is the leader of the FSF. AFAIK, blame rests squarely with him. If we're going to blame anyone that is. I really don't care that Hurd is not done after 14 years, but when you contrast it to the FSF's policy of "set it free" (i.e. "give it to us") you have to wonder why they think they'd be a better custodian?
And if we're talking about Java we're only talking about a collection of libraries, a syntax, and some compiler technology. The FSF have implemented those things multiple times.
If that were true, we wouldn't be talking. We'd be using GCJ/Kaffe and everyone would be happy. The reason why everyone isn't happy is that GCJ/Classpath/Kaffe have not been successful in producing a complete JVM. It shouldn't be as hard as they make it out to be, but for some reason it is.
If you choose to, you can decompose most software into smaller components. But I guess it suits your agenda to only do it for GNU and not for Java.
Nonsense. Let's do it right now:
GCC vs. JavaC -> GCC is obviously more complex.
GCJ vs. Hotspot -> Hotspot has some of the most complex technology ever developed for -
Re:Hmmmm
A few points:
1. Most of the "management" apps are written by people who are not experts in the Java language, thus tend to fubar it pretty well. This is changing, but slowly.
2. Sun is aware of the remote X issues. This is something they are being slow about addressing, but I believe 1.5 should show a marked performance improvement.
3. P2P programs tend to eat a lot of system resources during operation. This doesn't have so much to do with Java as in the way they are designed.
4. The majority of "good" Java software is outside of the area of Desktop applications. Desktop is still an underdeveloped area for Java.
5. Java programs will always take more resources on a mainstream machine. This is due to the fact that the JVM replicates a lot of the functionality of the OS. In instances where the JVM *is* the OS (e.g. embedded development) the difference in resources is insignificant.
Here are a few examples of Java Desktop programs that do their job extremely well:
Azureus
Wurm Online
JGoodies JDiskReport
DataDino Database Explorer
A few games I wrote for a 4k contest. -
List (and reasons)
In no particular order...
Commons Logging. Yeah, you said you wanted to avoid extra libraries, but the overhead of commons logging is so incredibly small, and the extra libraries you'll want to otherwise use are going to require it anyway. It's a measly 28KB last I checked, and well worth it.
HttpClient If you want to do any form of HTTP transfers, avoid HttpUrlConnection (built in to Java) at all costs. The HttpUrlConnection code is broken in many ways (too many to list), so you'll need another library. HttpClient does a good job of hiding the HTTP transfer behind the scenes, and has easy ways of letting you extend/change what you need.
JGoodies Looks Swing is getting better every day, but for that extra polish, you'll want to use the JGoodies Looks library. It does a great job of making Metal look just that much better, and also helps out the Windows L&F in some places.
Xerces I'm not sure if the bulk of this is included in the latter versions of Java, but Xerces is definitely a must-have for any XML parsing.
Other goodies...
For rendevous (multicast DNS) support, use jmDNS. It just works.
If you need i18n handling (normalization, etc..), IBM's icu4j does a great job.
-
Re:Geez Louise
Sorry, I generally agree with what you're saying, but you tweaked my feathers on one point:
Compare a nicely-fleshed-out Windows application, with automatic visual styles and Direct3D and OpenFileDialog boxes, with wonky Java applets that might run in a browser, and might just break.
NOBODY and I do mean NOBODY writes Java Applets any more. Java Applications are what have been working to displace Windows dominance. A few examples:
Azureus Bit Torrent Client
Thinkfree Office Suite
DataDino Database Explorer
Disk Analyzer
Games too:
Wurm Online
My 4K games
Big game list
So PLEASE don't mention Java Applets. You're likely to get stoned for it. -
Re:Java commentIn my long experience with oodles of java (cr)apps
I thought of two apps off the top of my head that are very responsive: jEdit and jDiskReport. Try one or both of them out, I'm sure you'll be surprised.
On a tangentially related note, check out these pictures of a whiteboarded Java timeline at the 2004 JavaOne conference, there's some neat memories and comments in there. One of the attendees called it "a real life wiki".
-
Re:Java-heavy interface?
Ugly? I agree, the Metal look and feel leaves much to be desired, but have you tried Java 1.5 yet? Or the JGoodies theme?
-
Common Java Myths
I have to say as a Java Programmer a lot of people end up with slow Java programs cause they are bad programmers not due to the language. Most people think oh Java I don't need to worry about pointers or memory usages it will take care of it for me, and they proceed to write absolute shit for code. The amount that I learned after 2 years of programming the language full time was amazing. You really need to understand what you are doing in the language when are generating garbage when you are doing stupid things like creating a vector with 10 elements and then trying to stick 10,000 objects into it, instead of presizing things intelligently to avoid all the memory copies. I also used to see a lot of stupid things like people copying arrays in for loops instead of using System.arrayCopy. Anyway I suggest people learn how to actually use the language before they blame the language for their own personal inadequiecies as programmers. Of course this is the slashdot crowd so most of you couldn't write more than 10 lines of code anyway. The only complaint that is valid I think is startup time. People should be running the server vm and there is a startup penalty you pay with it, but really if you start your application and it takes 2 seconds it isn't the end of the world considering you will get c++ performance. If you run the client vm you will get faster startup, but poor application speed. Also there are a ton of bad swing programmers out there, who either A don't understand multithreaded programming or B don't understand good gui design, or even worse both. I suggest people spend some time on JGoodies Website to learn something about good looking swing UI's.
-
Re:Well...
Oh, go jump off a (virtual) cliff. Java can handle "soft" realtime just fine, and extensions are being worked on for "hard" realtime support. And yes, some people actually write device drivers in Java. Java isn't slow because it's actually slow, it slow because:
1. C programmers write 10 lines of REALLY LOUSY Java code and decide that proves their point about Java being slow.
2. People like you WANT it to be slow. I'm sorry, comparing Java programming against device driver writing? That's the height of hypocrisy. Just because you're sore that *you* can't write high performance Java code while maintaining the beauty of an OO design, doesn't mean you have to take it out on everyone else.
BTW:
4k games
Amazing OpenGL game
More Java games
JDiskReport
Best BitTorrent client ever
etc, etc, etc. -
Re:By posting this to /.
Java WebStart apps are a lucky hybrid- to the user, they are online... they get updated whenever necessary so the user knows no difference. But, if the website is down, you can still run the app and you can even have a shortcut locally. Sure they take up local HD space, but if you are running online apps merely to save a meg or two locally, I'm worried about you. HD space is like... uh, a buck a GIG now or something?
If you don't think something like this could be very useful, try JDiskReport. -
Re:It's Java
Of course, even the "Windows Look & Feel" sample in the example you gave (see this page) does not actually look exactly like what people expect a native Windows app to look like. It is certainly very close, but visibly different. (Although I doubt the differences impact usability at all.)
The only two issues I see with the UI is the icons (not very windows like) and the splitpane has the arrow buttons. Both of these are remnants to the fact that it was created for Karsten's Plastic Look and Feel, an more embellished Windows-like L&F. He only converted it to a Windows look after he went into business as a GUI consultant. I pointed to JDiskReport because you can actually run it. You may find screenshots of his Metamorphasis application more appealing.
Ultimately, poorly written Java apps may have the same general distribution of speed and usability issues that typical (also poorly written) VB or C++ apps have (which I do not actually concede), but since Java apps are visibly distinct (more so even than VB) they will continue to get a bad rap simply because they stand out. Every way that they stand out (in a non-native way) is another nail in the coffin.
To be perfectly honest, I'm not too worried about it. Microsoft has already helped us out by convincing people to like different UIs. (2000, XP, Office components, etc.) Linux is also helping in this area. This gives professional Java developers two options:
1. Look like platform specific apps.
2. Wow the world with "more" beautiful screenshots.
In the end, I don't think users will really care either way. As long as it looks good and does the job, they'll be happy.
-
Re:It's Java
Of course, even the "Windows Look & Feel" sample in the example you gave (see this page) does not actually look exactly like what people expect a native Windows app to look like. It is certainly very close, but visibly different. (Although I doubt the differences impact usability at all.)
The only two issues I see with the UI is the icons (not very windows like) and the splitpane has the arrow buttons. Both of these are remnants to the fact that it was created for Karsten's Plastic Look and Feel, an more embellished Windows-like L&F. He only converted it to a Windows look after he went into business as a GUI consultant. I pointed to JDiskReport because you can actually run it. You may find screenshots of his Metamorphasis application more appealing.
Ultimately, poorly written Java apps may have the same general distribution of speed and usability issues that typical (also poorly written) VB or C++ apps have (which I do not actually concede), but since Java apps are visibly distinct (more so even than VB) they will continue to get a bad rap simply because they stand out. Every way that they stand out (in a non-native way) is another nail in the coffin.
To be perfectly honest, I'm not too worried about it. Microsoft has already helped us out by convincing people to like different UIs. (2000, XP, Office components, etc.) Linux is also helping in this area. This gives professional Java developers two options:
1. Look like platform specific apps.
2. Wow the world with "more" beautiful screenshots.
In the end, I don't think users will really care either way. As long as it looks good and does the job, they'll be happy.
-
Re:It's JavaThe results of these "real" GUI designers can be... ahall we say... impressive [jgoodies.com].
Of course, even the "Windows Look & Feel" sample in the example you gave (see this page) does not actually look exactly like what people expect a native Windows app to look like. It is certainly very close, but visibly different. (Although I doubt the differences impact usability at all.)
The is probably the "penalty" for cross-platform compatibility, but it definitely helps advance the argument that Java apps are somehow inferior to native apps, since they can't even get the look and feel right. (I don't agree, but it is certainly arguable.)
Ultimately, poorly written Java apps may have the same general distribution of speed and usability issues that typical (also poorly written) VB or C++ apps have (which I do not actually concede), but since Java apps are visibly distinct (more so even than VB) they will continue to get a bad rap simply because they stand out. Every way that they stand out (in a non-native way) is another nail in the coffin.
Azureus, on the other hand, is a good example of an app that uses slight deviations from typical UI to its' advantage. The configuration UI for Azureus should be an example to other apps (at least, any app with a multi-page configuration), while its' ridiculous memory footprint should not.
:) As I said in an earlier post, Azureus does not at first glance appear to be a Java app. It does eventually become apparent, not just due to UI, that it is a Java app after all. -
Re:It's Java
Doesn't this statement disprove your point? The fact that these types of standouts are notable because they are NOT obviously Java means that there is a more general problem that makes them the exception.
Not really. For every polished app, there are 500 crappy apps that someone has written in their spare time. (Just check shareware sites for examples.) The problem is that in Java's case, the programs are "different" because they're based on Java. Thus people like to blame Java for a signal to noise ratio that is quite common across the industry.
Of course, that crappy metal look and feel doesn't help anything. It was fun when it was first introduced, but too many developers didn't know how to make it look good. Thus "average" apps tend to look like "crappy UIs" in addition to simply being crappy apps. Some of the community (such as the famous Karsten Lentzsch) are trying to change the situation. The results of these "real" GUI designers can be... ahall we say... impressive.
-
Re:It's Java
Doesn't this statement disprove your point? The fact that these types of standouts are notable because they are NOT obviously Java means that there is a more general problem that makes them the exception.
Not really. For every polished app, there are 500 crappy apps that someone has written in their spare time. (Just check shareware sites for examples.) The problem is that in Java's case, the programs are "different" because they're based on Java. Thus people like to blame Java for a signal to noise ratio that is quite common across the industry.
Of course, that crappy metal look and feel doesn't help anything. It was fun when it was first introduced, but too many developers didn't know how to make it look good. Thus "average" apps tend to look like "crappy UIs" in addition to simply being crappy apps. Some of the community (such as the famous Karsten Lentzsch) are trying to change the situation. The results of these "real" GUI designers can be... ahall we say... impressive.
-
Re:Eye Candy?
Yeah, I know it is customizable- I made reference to the "Classic" theme-
My point was, how long until the "Classic" Windows 98- era UI widget set is removed permanently? It is already essentially "deprecated" for all intents and purposes- number one it is no longer the default and number two it is now called "Classic"... two sure fire signs that it is on its way out.
Then, we'll be stuck with the XP widget set for good. Unless, you're writing java apps. Then, you'll always have jgoodies and one of the finer UI's available IMHO. Thanks Karsten! -
Competition on the Desktop
I think that Sun realizes it has problems related to an IDE, specifically that Java on the desktop has never taken off. This is a shame, since recent open source projects in Java have shown that it can be a reliable, portable framework for desktop (fat client) tools--look at JEdit and the excellent JDiskReport. These are solid programs, responsive, and useful for everyday use. But generally developers are not supporting Java desktop development in any sizeable numbers, so the language may end up being relegated to purely server-based use, which would be a shame (IMO). Sun wants I think to use the enthusiasm for Eclipse to encourage developers to use Java for all sorts of projects. Politically, it would probably be better for Sun to back off the Netbeans-only support and support both tools, with a common API for plugins, as has been suggested already. We do need competition in the tools arena, as well as interoperability.
-
Re:What's the point?
Well considering Java's startup time removes it from all manner of applications, it's a bit of a strawman to argue that startup time doesn't matter.
*cough* *cough*
Bullshit
Bullshit
Bullshit
Bullshit
Bullshit
Bullshit
Bullshit
Please take your bullshit trolling elsewhere. There are those of us with work to do.
-
/.ed -- Mad Hatter Preview - Sun (TM) Java(TM) DesI finally received the Mad Hatter Preview in the mail this weekend. I couldn't wait to get this demo out and actually test the software, hoping that this would answer some questions that I had about the product. I was somewhat surprised to find a Live CD version of Mad Hatter instead of an actual beta, but that's okay, I could still see what it was, even if I cannot truly install it. The truly nice thing about Live CD's is that they don't require that much space to get the flavor of the system. In other words, you really do not make any significant changes to an existing machine.
The folks at Sun were even nice enough to name the files that are created on your machine in the C: drive (for Windows types) or your Linux / partition. The files can be deleted when you are finished navigating the demo CD, which makes this a handy demo for anyone wanting to show the system to someone without having to carry a computer around to demo the product.
The demo is only available in English, but that is not a real problem for a native speaker. I suppose the foreign markets will see other versions become available when the Java(TM) Desktop System reaches GA. The functionality of the system is somewhat limited because it is a demo, but there are some interesting things that have been added to the GNOME2 based desktop.
The obvious additions include the Star Office 7 Office Suite, Sun Microsystems latest version of Star Office - the product which led to Open Office (actually I think it Was Star Office 5.2 originally). The Open Office Team and the Sun Microsystems developers must be working in Tandem to make their suites more accessible to the public. The only problem I have with the Live CD is that I cannot install the Star Office 7 product to demo it (it takes more space than is allocated for the install in demo mode). Other than this minor annoyance for demo purposes, the system works well.
There are several things that Sun has added into their desktop that are not standard and are third-party add-ons. For one thing, they do install and integrate many of the commercial plugins that most Linux distributions do not install by default. Among them are the Macromedia plugins, several music and audio plugins as well as Real Player plugins. All of these plugins are integrated with Mozilla 1.4 and work out of the box (or in this case, on the Live CD).
These third=party add-ons or add-ins (however you wish to say it) are licensed and those licenses are described within the Third Party License README file. The various license for each piece of the puzzle are there, and given in full, for your reading pleasure. For those of you that thought there might be some license from the SCO Group for whatever they are claiming - they are not mentioned at all (enough said about that sore subject).
The Sun team has done a polished job of integrating their software into the GNOME2 environment, and has made some very nice changes here and there. Some of the third party Java(TM) add-ons are rather "nice to have" if not fully functional on the Live CD. Among these is JDisk Report from JGoodies as licensed from the Karsten Lentzsch and included within the Live CD environment (though not functional there).
The effect of that product was viral, I did go out and download JDisk Report 1.1.1 for myself (it is Freeware) for my own disk analysis on my machines. It is a rather nice thing to have.
The desktop is nothing unfamiliar to anyone who has ever used a Linux system before, and I don't see it as a giant hurdle for anyone who is used to a Windows environment. Heck, if my wife can pick up a Linux box running with GNOME2 and not have a problem, I suppose anyone can. My wife has never considered herself a computer whiz, but she did appreciate the fact that Linux doesn't crash and for the most part is just a "pick up and go" OS that remains available. The only downtime we experienced this year has been due to outside factors. We have lost our cable several times due to the v
-
Re:Who has so many files anyway?
Your post made me realize that it would indeed be interesting to see what the incredible amount of digital detritus on my hard drive consists of, so I scanned the E partition of my Win machine (which I use for gaming/working/almost everything).
According to JDiskReport, my E drive looks like this:
Number of files: 93.301
Number of files in the RECYCLER dir because I didn't think of emptying it before scanning: 1.194
File types taking up the most space by size: AVI Video (.avi, 13.5 GB), CD Image (.iso, 9.5 GB), CD Image (.bin, 7.5 GB), RAR Archive (.rar, 5.6 GB), MP3 Audio (.mp3, 5,1 GB), CD Image (.img, 4.7 GB), MPEG Video (.mpg, 2.4 GB), Unreal Textures (.utx, 2.3 GB)
Top 6 folders taking up the most space: Programs folder (30.8 GB), Games folder (24.2 G), Music folder (6.2 GB), Download folder (4.6 GB), pseudo-temporary folder (4.4 GB), RECYCLED (2.3 GB)
The biggest file is a VMWare virtual disk with a size of 1.1 GB.
The oldest files (except for 1/1/1970-bogus stuff) belong to a copy of STUNTS that I didn't know I still had.
The newest file (w/o bogus) is my eMule's preferences file.
The scan took about 15 minutes.
Wow, with the Info I gathered just because I wanted to reply to your post I've been able to locate about 8 GB of useless junk I've forgotten about.
So, as the example proves, a database-driven FS is indeed best suited for people who put buttloads of useless junk on their HDD and then forget about it.
Yay for Storage! ^_^ -
Re:What I like about .NET
-
Re:Well, goodbye then...
Yes, Java didn't deliver on the client side.
I don't know about that. I think that there just isn't enough work put into the GUI by most people. Creating a *nice* GUI is HARD, no matter what system you're using. Macs make it a bit easier with the philosophy that every window should be as simple as possible. However, Windows (the standard most software strives for) strives to cram as many buttons and controls in as small of a space as possible. Under Windows, your program needs toolbars, drop down menus, side bars, dockable sub -windows, MDI frames, etc. That's a lot of work! None the less, there are some good examples of Java clients that can meet that standard. Here are a few links:
jGoodies, masters of the Java GUI
DataDino, my own Java based commercial product.
SmartCVS, a multi-platform CVS GUI.
-
Re:The fast .NET startup times are due to ngen.exe
Ok. Still one of the biggest drawback of Java for desktop is not the speed but the 'singletasking' VM. Modern, well written swing apps are responsive and easily fast enough if you have P3+ level computer. But the start up time is a killer and each and every java program running on your desktop has it's 'own VM' running too.
An example scenario where version x of server software y was stress tested with low memory conditions: Command options -Xms10m -Xmx10m (min and max memory boundaries both 10MB) which leaves exactly 10MB for your program to run with. But the actual memory consumption (fully saturated) rose to ~19MB. So in that particular case the VM and all the needed libraries where consuming ~9MB of memory. So if you're someday to run 10 java programs simultaneously the extra bloat is at least 90MB. I'm really looking forward to tyger which promises to fix this issue with multitasking VM where all running java programs share the same 'commond codebase'.
Polished swing apps.
-
Re:Java is not just client apps.
I'm a Java developer with a lot of experience with Swing, and I have to say the Oracle Java-based tools are some of the slowest, ugliest Swing apps I've seen.
For much better examples have a look at JGoodies or some of the apps on Swing Sightings (it's a mixed bag but some of them are very good).
-
No problem
Step 1. Go to http://java.sun.com and download the JRE 1.4.1.
Step 2. Visit http://www.datadino.com and click on "Webstart Now!".
Step 3. Right click and save Meat Fighter. Find where you saved the JAR file and double click.
Step 4. Right click and save Duke Nukes Stuff. Double click on the JAR.
Step 5. Visit jGoodies and try their wide variety of products.
If you are under Linux, I'm afraid the games probably won't perform well. (Little issue with getting X to be configured to handle high speed direct-framebuffer graphics). However, DataDino should work, although you may need to get the installer instead of using the super-cool WebStart link (Mozilla problem only!). If you don't have a database to use, visit the "Supported Databases" page and download the test HSQLDB database.
The plain and simple fact is that Java is fighting two issues:
1. Poorly written apps that give all Java apps a bad name. (For example, "genius" A decides to load a table before releasing the event thread. Table takes 5 minutes to load and user gets annoyed. The solution would have been to load the table in a separate thread so that the user can see and interact with the table items as they are being loaded.)
2. Perceived performance vs. actual performance. People see Swing and the default look and feel and instantly "feel" that the app is slower than windows. Nothing could be farther from the truth. In all reality, it is probably running faster than the Windows app, it just doesn't seem right. This is caused by the Java L&F being way too "flat". Your brain doesn't quite connect the buttons and other objects as being solid objects to be manipulated. -
Writing real world applications
Javaone had a presentation on writing real world applications. It's short and very java centric (as you'd expect) but it got a lot out of it. It mentions signs of a poor UI infrastructure of which I had all..(c: You can find it at http://servlet.java.sun.com/javaone/sf2002/conf/s
e ssions/display-1703.en.jsp . I think you need to be a member of the java developers connection to read it.
Also, www.jgoodies.com has some nice gui stuff (java again), but the block diagram of his architecture may be useful and can be found at http://www.jgoodies.com/inside/images/architecture .gif. -
Re:Java/Swing is pretty good on the client side
Exactly, I wish I had some mod points to give you. Swing is not poorly designed like so many people think it is. The models and renderers within Swing make it pretty slick to build anything other than the most trivial apps. I'm not a SWT expert but I personally think it's pretty lacking in terms of some of Swings capabilities.
While SWT does look prettier than the default Swing L&F it doesn't have to, have a look at this.