Labels | CodeGuru

Labels

Bruce Eckel’s Thinking in Java Contents | Prev | Next A Label does exactly what it sounds like it should: places a label on the form. This is particularly important for text fields and text areas that don’t have labels of their own, and can also be useful if you simply want to place textual […]

Written By
CodeGuru Staff
CodeGuru Staff
Mar 1, 2001
3 minute read
CodeGuru content and product recommendations are editorially independent. We may make money when you click on links to our partners. Learn More

A


Label
does exactly what it sounds like it should: places a label on the form. This is
particularly important for text fields and text areas that don’t have
labels of their own, and can also be useful if you simply want to place textual
information on a form. You can, as shown in the first example in this chapter,
use
drawString( )
inside
paint( )
to place text in an exact location. When you use a
Label
it allows you to (approximately) associate the text with some other component
via the layout manager (which will be discussed later in this chapter).

With


the constructor you can create a blank label, a label with initial text in it


(which is what you’ll typically do), and a label with an alignment of


CENTER

,


LEFT

,


or


RIGHT

(


static
final int

s


defined in class


Label

).


You can also change the label and its alignment with

setText( )
and
setAlignment( ),
and if you’ve forgotten what you’ve set these to you can read the
values with
getText( )
and
getAlignment( ).
This example shows what you can do with labels:
//: Label1.java
// Using labels
import java.awt.*;
import java.applet.*;
 
public class Label1 extends Applet {
  TextField t1 = new TextField("t1", 10);
  Label labl1 = new Label("TextField t1");
  Label labl2 = new Label("                   ");
  Label labl3 = new Label("                    ",
    Label.RIGHT);
  Button b1 = new Button("Test 1");
  Button b2 = new Button("Test 2");
  public void init() {
    add(labl1); add(t1);
    add(b1); add(labl2);
    add(b2); add(labl3);
  }
  public boolean action (Event evt, Object arg) {
    if(evt.target.equals(b1))
      labl2.setText("Text set into Label");
    else if(evt.target.equals(b2)) {
      if(labl3.getText().trim().length() == 0)
        labl3.setText("labl3");
      if(labl3.getAlignment() == Label.LEFT)
        labl3.setAlignment(Label.CENTER);
      else if(labl3.getAlignment()==Label.CENTER)
        labl3.setAlignment(Label.RIGHT);
      else if(labl3.getAlignment() == Label.RIGHT)
        labl3.setAlignment(Label.LEFT);
    }
    else
      return super.action(evt, arg);
    return true;
  }
} ///:~ 

The


first use of the label is the most typical: labeling a


TextField

or


TextArea

.


In the second part of the example, a bunch of empty spaces are reserved and


when you press the “Test 1” button


setText( )

is used to insert text into the field. Because a number of blank spaces do not


equal the same number of characters (in a

proportionally-spaced
font) you’ll see that the text gets truncated when inserted into the label.

The


third part of the example reserves empty space, then the first time you press


the “Test 2” button it sees that there are no characters in the


label (since

trim( )
removes all of the blank spaces at each end of a
String)
and inserts a short label, which is initially left-aligned. The rest of the
times you press the button it changes the alignment so you can see the effect.

You


might think that you could create an empty label and then later put text in it


with


setText( )

.


However, you cannot put text into an empty label – presumably because it


has zero width – so creating a label with no text seems to be a useless


thing to do. In the example above, the “blank” label is filled with


empty spaces so it has enough width to hold text that’s placed inside


later.

Similarly,


setAlignment( )

has


no effect on a label that you’d typically create with text in the


constructor. The label width is the width of the text, so changing the


alignment doesn’t do anything. However, if you start with a long label


and then change it to a shorter one you can see the effect of the alignment.

These


behaviors occur because of the default

layout
manager

that’s used for applets, which causes things to be squished together to
their smallest size. Layout managers will be covered later in this chapter,
when you’ll see that other layouts don’t have the same effect.
Contents

|

Prev

|

Next
CodeGuru Logo

CodeGuru covers topics related to Microsoft-related software development, mobile development, database management, and web application programming. In addition to tutorials and how-tos that teach programmers how to code in Microsoft-related languages and frameworks like C# and .Net, we also publish articles on software development tools, the latest in developer news, and advice for project managers. Cloud services such as Microsoft Azure and database options including SQL Server and MSSQL are also frequently covered.

Property of TechnologyAdvice. © 2026 TechnologyAdvice. All Rights Reserved

Advertiser Disclosure: Some of the products that appear on this site are from companies from which TechnologyAdvice receives compensation. This compensation may impact how and where products appear on this site including, for example, the order in which they appear. TechnologyAdvice does not include all companies or all types of products available in the marketplace.