Introduktion til JavaFX TextField

I JavaFX-pakken hjælper en klasse, der kaldes TextField, brugerne med at indtaste den uformaterede tekst, der kan læses af applikationen. Teksten skal ikke have flere linjer, da den kun tillader en enkelt linje af indgangsteksten. Denne JavaFX TextField-kontrol kan instantieres fra klassen javafx.scene.control.TextField. Konstruktører, metoder og eksempel på JavaFX TextField diskuteres i de følgende afsnit.

JavaFX TextField-konstruktører

Der er to konstruktører til JavaFX TextField.

1. TextField (): Et TextField oprettes med tomt tekstindhold.

Kode:

// create a TextField
TextField tf = new TextField();

2. TextField (Strings): Et TextField oprettes med en tekst s som etiket.

Kode:

// create a TextField
TextField tf = new TextField(“Be Happy Always”);

Metoder til JavaFX TextField

Følgende er nogle af de ofte anvendte metoder i JavaFX TextField:

  • setPrefColumnCount (int v): PræcolumnCount-egenskabens værdi indstilles.
  • setOnAction (EventHandler v): OnAction-egenskabens værdi indstilles.
  • setAlignment (Pos p): Justeringsegenskabets værdi indstilles.
  • getAlignment (): Justeringsegenskabets værdi returneres.
  • getPrefColumnCount (): PræcolumnCount-egenskabens værdi returneres.
  • getOnAction (): OnAction-ejendommens værdi returneres.
  • getCharacters (): Karaktersekvens returneres indholdet af tekstfeltet.
  • prefColumnCountProperty (): Antallet af tekstkolonner, der foretrækkes.
  • OnActionProperty (): Hvis OnAction-behandleren er tildelt et tekstfelt, returneres null. Hvis den er til stede, returneres den pågældende handlingshåndterer.

Sådan oprettes en JavaFX TextField?

For at oprette et tekstfelt skal følgende trin udføres:

Trin # 1 - Indstil titlen til den oprettede scene

JavaFX repræsenterer det indhold, der vises i et vindue / inde i en scene.

Kode:

s.setTitle("JavaFX TextField Sample");

Trin # 2 - Opret en TextField

Da både parametriserede og ikke-parametriserede konstruktører kan bruges, kan en af ​​følgende syntakser overvejes ud fra kravet.

Kode:

//parameterized constructor
TextField tf = new TextField(“Be Happy Always”);
//non-paramterized constructor
TextField tf = new TextField();

Trin # 3 - Føj TextField oprettet til scenegraf

Efter oprettelsen af ​​tekstfeltet skal du oprette en scene og tilføje TextField til scenegrafen ved hjælp af nedenstående trin.

Kode:

Scene sc = new Scene(hb, 300, 200);
s.setScene(sc);
s.show();

Program til implementering af JavaFX TextField

Følgende er nogle af de programmer, der vil hjælpe med at forstå JavaFX TextField:

Eksempel 1: Java-program til demonstration af et tekstfelt.

Kode:

//Java program to demonstrate one text field
import javafx.application.Application;
import javafx.scene.Scene;
import javafx.scene.control.TextField;
import javafx.scene.layout.HBox;
import javafx.stage.Stage;
//child class that extends Application base class
public class JavaFXTextFieldExample extends Application (
//application launches here
@Override
public void start(Stage s) throws Exception (
//set the title for the stage
s.setTitle("JavaFX Textfield example");
//create a textfield
TextField tf = new TextField();
//create an hbox
HBox hb = new HBox(tf);
//create a scene
Scene scene = new Scene(hb, 300, 200);
//set the scene
s.setScene(scene);
//display the result
s.show();
)
//main method
public static void main(String() args) (
Application.launch(args);
)
)

Output 1: Her kan teksten indtastes i det tomme beslag.

Output 2: Her kan tekst indtastes som vist i nedenstående skærmbillede.

Forklaring til ovenstående kode: Først oprettes et tekstfelt ved hjælp af en ikke-parameteriseret konstruktør. Føj det oprettede tekstfelt til scenegrafen. Endelig vises et tekstfelt som output, hvor tekst kan indsættes.

Eksempel 2: Java-program til demonstration af et tekstfelt med en knap og returnerer den indtastede tekst.

Kode:

//Java program to implement JavaFX TextField with a button and returns the text entered
import javafx.application.Application;
import javafx.scene.Scene;
import javafx.scene.control.Button;
import javafx.scene.control.Label;
import javafx.scene.control.TextField;
import javafx.scene.layout.GridPane;
import javafx.stage.Stage;
//child class that extends Application class
public class JavaFXTextFieldExample extends Application (
//main method
public static void main(String() args) (
//launches the application
launch(args);
)
//application starts here
@Override
public void start(Stage s) throws Exception
(
//create a label name
Label name=new Label("Full name : ");
//create a label age
Label Age = new Label("Age : ");
// create two textfields for label name and label age
TextField t1=new TextField();
TextField t2=new TextField();
//create a button
Button btn = new Button("Click me");
//action to be performed
btn.setOnAction(e->System.out.println("The name you entered : "+ t1.getText()
+ "\nThe age you entered: "+t2.getText()));
//create a gridpane
GridPane r = new GridPane();
r.addRow(0, name, t1);
r.addRow(1, Age, t2);
r.addRow(2, btn);
//create scene
Scene sc=new Scene(r, 400, 300);
//set the scene
s.setScene(sc);
//set the title
s.setTitle("Text Field Example");
//display the result
s.show();
)
)

Output 1: Indtast det krævede TextField-eksempel.

Output 2: Når ovenstående dialogboks vises, skal du indtaste den tekst, du vil indsende.

Output 3: Når du har indsendt knappen, vises den indtastede tekst i konsollen som vist nedenfor.

Forklaring til ovenstående kode: Først oprettes to TextFields og 1-knap. Når der er klikket på knappen, udløses en handling til at vise den indtastede tekst i konsollen.

Eksempel 3: Java-program til at oprette et tekstfelt med en indledende tekst og indstille en begivenhedshåndterer, når der sker en handling i tekstfeltet.

Kode:

//Java program to create a text field with an initial text and set an event handler once any action occurs in the textfield
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.geometry.*;
public class JavaFXTextFieldExample extends Application (
//application starts here
public void start(Stage s)
(
// set title
s.setTitle("JavaFX TxtField example");
// create textfield
TextField t = new TextField("type here");
// set alignment
t.setAlignment(Pos.CENTER);
// tile pane
TilePane tp = new TilePane();
// label
Label l = new Label("Ypu have enetered nothing");
// action event
EventHandler ev = new EventHandler() (
//action that to be performed
public void handle(ActionEvent e)
(
l.setText(t.getText());
)
);
t.setOnAction(ev);
tp.getChildren().add(t);
tp.getChildren().add(l);
Scene sc = new Scene(tp, 200, 200);
s.setScene(sc);
s.show();
)
public static void main(String args())
(
// launch the application
launch(args);
)
)

Output 1: Når du skriver her, har du ikke indtastet noget.

Output 2: Når der indtastes en tekst, ændres etiketten som afbildet nedenfor.

Forklaring til ovenstående kode: Opret et tekstfelt med en indledende tekst. Indstil en begivenhed, der skal udføres, når teksten indtastes. Etiketten ændres svarende til den indtastede tekst.

Konklusion

I JavaFX bruges TextFields til at hente tekstinput fra brugeren, så det kan læses af applikationen. Den bruger både parametriserede og ikke-parametriserede konstruktører baseret på brugerens behov.

Anbefalede artikler

Dette er en guide til JavaFX TextField. Her diskuterer vi to konstruktører, metoder, hvordan man opretter og programmerer til implementering i JavaFX TextField. Du kan også gennemgå vores andre relaterede artikler for at lære mere

  1. Objekt i Java
  2. Indsættelse Sorter i JavaScript
  3. Factorial-program i JavaScript
  4. Overbelastning og overstyring i Java
  5. JavaFX-skyderen
  6. Program til implementering af JavaFX FileChooser
  7. Hvad er JavaFX? | Hvordan fungerer JavaFX?
  8. 3 Metoder til jQuery Slide med programmering
  9. Egenskaber med program til implementering af JavaFX-tekst
  10. Top 15 metoder til HBox i JavaFX
  11. Sådan oprettes checkbox i JavaFX med eksempler?

Kategori: