Label is a part of JavaFX package . Label is used to display a short text or an image, it is a non-editable text control. It is useful for displaying text that is required to fit within a specific space, and thus may need to use an ellipsis or truncation to size the string to fit. Labels also are useful in that they can have mnemonics which, if used, will send focus to the Control listed as the target of the labelFor property. Label can only a display of text or image and it cannot get focus.
Constructor for the Label class are:
- Label(): Creates an empty label
- Label(String t): Creates Label with given text.
- Label(String t, Node g): Creates a Label with the given text and graphic.
Commonly used methods:
method | explanation |
---|---|
createDefaultSkin() | Create a new instance of the default skin for this control. |
getLabelFor() | Gets the value of the property labelFor. |
labelForProperty() | A Label can act as a label for a different Control or Node. |
setLabelFor(Node v) | Sets the value of the property labelFor. |
Below programs illustrate the use of label:
- Program 1: This program creates a label indicated by the name b. The progress indicator will be created inside a scene, which in turn will be hosted inside a stage (which is the top level JavaFX container). The function setTitle() is used to provide title to the stage. Then a stack-pane is created, on which addChildren() method is called to attach the label inside the scene, along with the resolution specified by (200, 200) in the code. Finally the show() method is called to display the final results.
Java
// Java program to create a label import javafx.application.Application; import javafx.scene.Scene; import javafx.scene.control.*; import javafx.scene.layout.*; import javafx.event.ActionEvent; import javafx.event.EventHandler; import javafx.scene.control.Label; import javafx.stage.Stage; public class label extends Application { // launch the application public void start(Stage s) { // set title for the stage s.setTitle( "creating label" ); // create a label Label b = new Label( "This is a label" ); // create a Stack pane StackPane r = new StackPane(); // add password field r.getChildren().add(b); // create a scene Scene sc = new Scene(r, 200 , 200 ); // set the scene s.setScene(sc); s.show(); } public static void main(String args[]) { // launch the application launch(args); } } |
- Output:
- Java program to create a label with images: This program creates a label with images indicated by the name b, the image is named i and the imageview is indicated by name iw. The label will be created inside a scene, which in turn will be hosted inside a stage (which is the top level JavaFX container). The function setTitle() is used to provide title to the stage. Then a stack-pane is created, on which addChildren() method is called to attach the label with images inside the scene, along with the resolution specified by (200, 200) in the code. Finally the show() method is called to display the final results.
Java
// Java program to create a label with images import javafx.application.Application; import javafx.scene.Scene; import javafx.scene.control.*; import javafx.scene.layout.*; import javafx.event.ActionEvent; import javafx.event.EventHandler; import javafx.scene.control.Label; import javafx.stage.Stage; import javafx.scene.image.*; import java.io.*; public class label_1 extends Application { // launch the application public void start(Stage s) throws Exception { // set title for the stage s.setTitle( "creating label" ); // create a input stream FileInputStream input = new FileInputStream( "f:\\gfg.png" ); // create a image Image i = new Image(input); // create a image View ImageView iw = new ImageView(i); // create a label Label b = new Label( "" , iw); // create a Stack pane StackPane r = new StackPane(); // add password field r.getChildren().add(b); // create a scene Scene sc = new Scene(r, 200 , 200 ); // set the scene s.setScene(sc); s.show(); } public static void main(String args[]) { // launch the application launch(args); } } |
- Output:
- Java program to create a label with images and text: This program creates a label with images and text indicated by the name b, the image is named i and the imageview is indicated by name iw. The text to be displayed on the label is passed an argument to the constructor of the label. The label will be created inside a scene, which in turn will be hosted inside a stage (which is the top level JavaFX container). The function setTitle() is used to provide title to the stage. Then a stack-pane is created, on which addChildren() method is called to attach the label with images inside the scene, along with the resolution specified by (200, 200) in the code. Finally the show() method is called to display the final results.
Java
// Java program to create a label with images and text import javafx.application.Application; import javafx.scene.Scene; import javafx.scene.control.*; import javafx.scene.layout.*; import javafx.event.ActionEvent; import javafx.event.EventHandler; import javafx.scene.control.Label; import javafx.stage.Stage; import javafx.scene.image.*; import java.io.*; public class label_2 extends Application { // launch the application public void start(Stage s) throws Exception { // set title for the stage s.setTitle( "creating label" ); // create a input stream FileInputStream input = new FileInputStream( "f:\\gfg.png" ); // create a image Image i = new Image(input); // create a image View ImageView iw = new ImageView(i); // create a label Label b = new Label( "Label Text" , iw); // create a Stack pane StackPane r = new StackPane(); // add password field r.getChildren().add(b); // create a scene Scene sc = new Scene(r, 200 , 200 ); // set the scene s.setScene(sc); s.show(); } public static void main(String args[]) { // launch the application launch(args); } } |
- Output:
- Java program to create a labels and textfield and use setLabelFor property: In this program the labels are set for mnemonic parsing (if Alt+1 is presses then focus shifts to first textfield and if Alt + 2 is presses then focus shifts to second textfield.
Java
// Java program to create a labels and textfield and use setLabelFor property import javafx.application.Application; import javafx.scene.Scene; import javafx.scene.control.*; import javafx.scene.layout.*; import javafx.event.ActionEvent; import javafx.event.EventHandler; import javafx.scene.control.Label; import javafx.stage.Stage; import javafx.scene.image.*; import java.io.*; public class label_3 extends Application { // launch the application public void start(Stage s) throws Exception { // set title for the stage s.setTitle( "creating label" ); // TextField TextField b1 = new TextField( "textfield" ); // create a label Label b = new Label( "_1 TextField" ); // setlabel for b.setLabelFor(b1); // TextField TextField b4 = new TextField( "textfield" ); // create a label Label b3 = new Label( "_2 TextField" ); // setlabel for b3.setLabelFor(b4); // create a Tile pane TilePane r = new TilePane(); // setMnemonic b.setMnemonicParsing( true ); b3.setMnemonicParsing( true ); // add password field r.getChildren().add(b); r.getChildren().add(b1); r.getChildren().add(b3); r.getChildren().add(b4); // create a scene Scene sc = new Scene(r, 200 , 200 ); // set the scene s.setScene(sc); s.show(); } public static void main(String args[]) { // launch the application launch(args); } } |
- Output:
Note: The following programs might not run in an online IDE please use an offline compiler. You should have the latest version of Java to run this programs.
Reference: https://docs.oracle.com/javase/8/javafx/api/javafx/scene/control/Label.html