En översikt över TextField-klassen i JavaFX

De Textfält klass i JavaFX används för att skapa en kontroll som gör det möjligt för användaren att ange i en enda textrad. Det stöder att ha snabbtext (dvs. text som informerar användaren vad Textfält är avsedd att användas för).

Notera: Om du behöver en flerstreckad textinmatningskontroll ska du titta på Textarea klass. Alternativt, om du vill att texten ska formateras, titta på Htmleditor klass.

Importmeddelande

import javafx.scene.control.TeField;

konstruktörer

De Textfält klass har två konstruktörer beroende på om du vill skapa en tom Textfält eller en med viss standardtext:

  • För att skapa en tom Textfält objekt:
    TextField txtFld = new TextField ();
  • Så här skapar du en Textfält med en viss standardtext använder du en String letteral:
    TextField txtFld = new TextField ("Standardtext");

Notera: Skapa en Textfält med standardtext är inte detsamma som att ha snabbtext. Standardtexten förblir i Textfält när användaren klickar på det och när de gör det kan redigeras.

Användbara metoder

Om du skapar en tom Textfält Du kan ställa in texten med setText metod:

txtField.setText ("En annan sträng");

För att få en Sträng representerar texten som användaren skrev in i Textfält Använd gettext metod:

String inputText = txtFld.getText ();

Händelsehändelse

Standardhändelsen associerad med Textfält är Action. Detta utlöses om användaren träffar STIGA PÅ medan inuti Textfält Så här ställer du in Händelsehanterare för en Action Använd setOnAction metod:

txtFld.setOnAction (ny EventHandler 
@Override offentligt ogiltigt handtag (ActionEvent e)
// Placera koden du vill köra genom att trycka på ENTER-tangenten.

);

Tips om användning

Utnyttja möjligheten att ställa in snabbtext för Textfält om du behöver hjälpa användaren att förstå vad Textfält är för. Fråga text visas i Textfält som lite grå text. Om användaren klickar på Textfält snabbtexten försvinner och de har en tom Textfält för att mata in sin egen text. Om Textfält är tom när den tappar fokus kommer snabbtexten att dyka upp igen. Den snabba texten kommer aldrig att vara strängvärdet som returneras av gettext metod.

Notera: Om du skapar ett TextField-objekt med standardtext kommer inte inställningen av prompttexten att skriva över standardtexten.