Java Tip 129: SGLayout—a layout manager for the rest of us

Complex graphical user interfaces (GUIs) can be difficult to set up using standard Java layout managers like BorderLayout, GridLayout, or FlowLayout. While GridBagLayout proves a much more powerful standard Java layout manager, it...


Java Tip 128: Create a quick-and-dirty XML parser

This tip shows you how to parse XML when running in an applet or other space-restricted environment, such as a J2ME (Java 2 Platform, Micro Edition) application. The process limits functionality in a way that many small applications...


Java Tip 127: See JAR run

This tip shows how to turn an unrunnable Java Archive (JAR) into a runnable one, without having to directly manipulate manifest files. You learn to develop a short program that enables any JAR to run with the java -jar command or on...


Java Tip 126: Prepare cross-server database access methods with JDBC

Server-side Web applications often need to access backend databases. A set of well-designed and efficiently implemented database access methods can greatly reduce the maintenance overhead and improve your Web applications'...


Java Tip 125: Set your timer for dynamic properties

Property files let you reconfigure your Java application without recompiling. Typically, however, you need to restart your application to load the new properties. This tip shows you how to load new property files without restarting...


Java Tip 124: Trace your steps in Java 1.4

Ever get the feeling you might be lost? Java can help you find your way back, at least in your programs. In the past, Java lacked the simple ability to map runtime code back to its position in the source code file. The pre-Java 1.4...


Java Tip 123: Dial into the wireless world

This tip uses a phone book example to show how to build, configure, and run a simple wireless application. The example demonstrates connectivity between a WML (Wireless Markup Language) client device and the Tomcat Web server through...


Java Tip 122: Beware of Java typesafe enumerations

The so-called typesafe enum construct has gained popularity since its increased coverage in several publications and admittance into the Sun JDK implementation. But be warned: this tip shows that the construct isn't as safe as you...


Java Tip 120: Execute self-extracting JARs

This tip presents an easy way to make self-extracting Java Archives (JARs). A self-extracting archive can extract the contained files to user-selected directories on any Java platform. Your users are only required to have a Java...


Java Tip 119: Don't know much about file history?

Many file processing applications have a history mechanism that tracks the last processed files. Typically these filenames are appended to the bottom of a File menu in the order you have processed them. This tip provides a class that...


Java Tip 118: Utilize the EjbProxy

This tip introduces you to the EjbProxy utility class. It instantiates and invokes a remote EJB without coupling your code directly to a specific implementation of that particular EJB.


Java Tip 117: Transfer binary data in an XML document

XML has gained popularity as a platform- and language-independent format for transferring data across systems. In situations where you need to transfer binary data within an XML document, you must encode that binary data into an...


Java Tip 116: Set your table options -- at runtime!

The JTable class offers rich functionality for grid-like data display. This Java tip addresses common display issues related to dynamically changing such things as scroll bars, column width, and row height.


Java Tip 115: Secure JavaMail with JSSE

JavaMail storage providers lack direct SSL connection support, but luckily, the JSSE API provides support for SSL or TLS network connections. This tip combines the functionality of a JavaMail framework with an SSL socket factory from...


Java Tip 114: Add ghosted drag images to your JTrees

When using drag and drop, a drag image is a useful visual reminder of what is actually being dragged. However on some platforms, notably Microsoft's Win32, the drag image requested in your Java program is ignored, depriving the user...


Java Tip 113: Identify subclasses at runtime

Java Reflection provides a lot of information about a given class at runtime; you can easily know all its super classes, implemented interfaces, methods, constructors, fields, and so on. But in some cases, you may want to know all the...


Java Tip 112: Improve tokenization of information-rich strings

In this article, you'll take advantage of the commonly used StringTokenizer class to perform better tokenization of complicated and information-rich strings.


Java Tip 110: Implement the Observer pattern with EJBs

In most J2EE systems, it is desirable to have factories or managers (implemented as stateless session beans) that fire appropriate events. EJB containers handle the demand for stateless session beans by creating as many instances of...


Java Tip 109: Display images using JEditorPane

To display HTML in a JEditorPane, you would normally specify a URL that sets the document base of the HTMLDocument. However, if the HTML text is not stored in a file locally or on the Web, you cannot set the HTMLDocument document...


Java Tip 108: Apply RMI autogeneration

Using the tool in this tip, you can make objects written with local semantics remote. The tool creates remote interfaces that have roughly the same method signatures as the local interfaces. These generated interfaces form a layer...


Load More