Ask Questions?

View Latest Questions


 
 

JLabel for output
Posted on: July 22, 2006 at 12:00 AM
Why using JLabel for output?

Java: JLabel for output

Why using JLabel for output is usually bad

It's possible to change the text of a JLabel, although this is not generally a good idea after the user interface is already displayed. For output JTextField is often a better choice. The use of JLabel for output is mentioned because some textbooks display output this way. Here are some reasons not to use it.

  • Can't copy to clipboard. The user can not copy text from a JLabel, but can from a JTextField.
  • Can't set background. Changing the background of individual components probably isn't a good idea, so this restriction on JLabels is not serious. You can change the background of a JTextField, for better or worse.
  • Text length. This is where there are some serious issues. You can always see the entire text in a JTextField, altho you might have to scroll it it's long. There are several possibilities with a JLabel. You may either not see all of the long text in a JLabel, or putting long text into a JLabel may cause the layout to be recomputed, resulting in a truly weird user experience.

Changing the text of a JLabel

Most JLabels are never changed, except for internationalization, and that is done before the user interface is shown. To change the text, use

yourLabel.setText(String newText);  // 
Copyleft 2003 Fred Swartz MIT License

Related Tags for JLabel for output:
ccomidebooksresttextinterfacediviocopycomponentsgeneraluseroutputbackgroundclipboarddisplaylabelipvicomponentfieldreadchangecliintthisoodidsetootextfieldtexbooforiebooktochoiceroundrestrictionposldssiextejlabelitbackrestrictstrictnotlscanlihangputspltextbooksusejtextfieldfromcelabelshanginginnoasmntoutplaytrreasonoscaosjispadafteracechangingclesallaltmeproackboardsspsogincliposskideaindividualishaicellivgoeadudualarcopstrtfxtttseriousssrirdtbothstabablabelafseriousdispfaceboaplrallyprndonomo