Blogs by topic J2SE and user mkarg
| • Accessibility | • Ajax | • Blogging | • Business | • Community |
| • Databases | • Deployment | • Distributed | • Eclipse | • Education |
| • EJB | • Extreme Programming | • Games | • GlassFish | • Grid |
| • GUI | • IDE | • Instant Messaging | • J2EE | • J2ME |
| • J2SE | • Jakarta | • JavaFX | • JavaOne | • Jini |
| • JSP | • JSR | • JXTA | • LDAP | • Linux |
| • Mobility | • NetBeans | • Open Source | • OpenSolaris | • OSGi |
| • P2P | • Patterns | • Performance | • Porting | • Programming |
| • Research | • RMI | • RSS Feeds | • Search | • Security |
| • Servlets | • Struts | • Swing | • Testing | • Tools |
| • Virtual Machine | • Web Applications | • Web Design | • Web Development Tools | • Web Services and XML |
GUI
When programming in Java, everywhere I go I stumble over "dead" technology. That's a mess, since that technology was really great and still would be very useful. But some day, "someone" just declared it's death. But why?
It took me several sleepless nights to find out, but finally I got it - and was astonished how easy it is. Ever wanted to play the default system sound for a specific operation? Well, in fact there is no platform independent solution for that (can't believe it, I know, but it is true). But at least Swing internally does it that way on the Windows platform (and on other platforms it will just do...
Blue sky, 25°C, the ideal weather for solving strange JNI problems...
Education

Sometimes it makes sense to wrap a single code line into a class. An example is implementing the Range pattern.
Just found out how easy it is to use the full screen mode in Swing...
Java 6 comes with SwingWorker as an integral part of the JRE (yes, you no more need to download it). And THAT version of SwingWorker can send progress status while the background work still is in progress...
Attaching a GUI to a domain model object (a.k.a. "Entity") is a boring job. You need to write lots of synchronization code or models to change the UI when the entity changes and vice versa. Now that has an end. Here is the ultimate, automatic glue generator: The Java Beans Binding API...
Do you know EnumSet? No? Then you should take the time to look at this sample code. EnumSet allows writing of really eloquent Java source code...
Programming

These days I got a feeling as if professional software products get worse with every release. One cause is a fatal misunderstanding of best practices by the big stakeholders. Looking at their current products, one should ask them to "Release Late, Release Rarely"!

Today I had enough from typing lenghty paths and ".jar" extensions, so I taught Windows to deal with JARs the same way it deals with EXEs and CMDs.
Iterating over an Enumeration with the for-each statement would be fine, but the JRE's default support is not very smart. So I wrote my own utility providing five times better speed, using virtually no heap space.
Mobility
Today I read that Apple finally allows interpreted code on the iPhone. When will Oracle deliver Java for iOS?
Databases
Finally iAnywhere answered my prayers and implemented support for JDBC batch mode into their latest (and fastest) driver. But at surprisingly bad performance. Let's see why.
If you wonder whether the style of use with JDBC API has an impact of performance, you might like to read my latest blog entry on Head Crashing Informatics. While the entry mostly is about tuning SQL Anywhere's BLOB handling performance, it contains an interesting aspect: There are three ways to deal with BLOBs in JDBC, and the performance difference is tremendous. While obvious for the JDBC...
Community
For meanwhile more than 25 years I am writing computer programs. More than a decade I spent with programs accessing databases, virtually always relational ones. I soon learned that this is rather hard work. Not only that you need to know about the theory behind RDBMS iself, but also you need to know the technical APIs (like ODBC, ADO, RDO, JDBC, JDO, JPA, CMP, ...), the structure of...
Like to use XSLT 2.0 but fear to switch to SAXON? Just drop saxon9he.jar into JRE's lib/ext folder and you're done! NO FEAR, IT WILL WORK.










