LayoutManager Methods
This is the interface originally included in Java 1.0 for creating a layout manager. It defines basic methods
related to managing the components added to a container.
addLayoutComponent (String, Component)
This is the method that was originally used for adding a child component to a parent container, but this
method has effectively been deprecated. It is not marked as deprecated by a javadoc-style @deprecated
tag, but it is deprecated conceptually, because another, more flexible method exists and should be used
instead. In fact, as you'll see shortly, the implementation of this method in DividerLayout does nothing
more than call its replacement, which is the addLayoutComponent() method defined in
LayoutManager2.
This method was provided to allow String constraint values to be passed to CardLayout and
BorderLayout instances. However, because this method only accepts a String value, you cannot pass
any other type of object to represent the constraints. For example, since an instance of
GridBagConstraints is not a subclass of String, you could not use it as an argument with the add()
method in Java 1.0. Instead, it was necessary to call GridBagLayout's setConstraints() method to
associate the GridBagConstraints with a component, as shown in the following code:
GridBagLayout gbl = new GridBagLayout();
setLayout(gbl);
GridBagConstraints gbc = new GridBagConstraints();
Button btn = new Button("Testing");
gbl.setConstraints(btn, gbc);
add(btn);
With the addition of the more generic addLayoutComponent() method in LayoutManager2, it's now
possible to pass any type of Object to the layout manager when you call add(). In Java 1.1,
GridBagLayout was modified to extend LayoutManager2, so you can now add a component to a
container and specify that component's constraints at the same time, as shown below:
GridBagLayout gbl = new GridBagLayout();
setLayout(gbl);
GridBagConstraints gbc = new GridBagConstraints();
Button btn = new Button("Testing");
// gbl.setConstraints(btn, gbc);
// add(btn);
add(btn, gbc);
As mentioned before, you'll normally implement this method by delegating the call to the
addLayoutComponent() method defined in LayoutManager2, which can be done by simply
reversing the order of the parameter values as shown below. Alternatively, you may simply choose to
ignore a call to this method completely if your custom layout manager doesn't accept a String instance
for a constraint parameter:
public void addLayoutComponent(String name, Component comp) {
// The following line can be commented out without
// affecting this layout manager
addLayoutComponent(comp, name);
}
New on the Java Boutique:
New Review:
Time Management Made Easy with the Quartz Enterprise Job Scheduler
Why not just use the Java timer API? This open source scheduling
API boasts simplicity, ease-of-integration, a well-rounded feature
set, and it's free!
New Applet:
Reverse Complement
Reverse Complement is a simple applet that converts DNA or RNA
sequences into three useful formats.
Elsewhere on internet.com:
WebDeveloper Java
Lots of Java information on webdeveloper.com
WDVL Java
Thorough Java resource at the Web Developer's Virtual Library.
ScriptSearch Java
Hundreds of free Java code files to download.
jGuru: Your View of the Java Universe
Customizable portal with online training, FAQs, regular news updates, and tutorials.
|