L'ajout de l'indice de TextField
Je veux ajouter un TextField
avec un soupçon de texte, une invite utilisateur, un espace réservé jusqu'à ce que l'utilisateur entre du texte. Le texte de l'invite disparaît lorsque le Champ est concentré et ré-apparaît si le Champ perd le focus et le texte n'est pas entré.
J'ai d'abord pensé que ce serait une fonctionnalité générique pour Vaadin TextFields, mais qui ne semble pas être le cas. Maintenant, je suis à la recherche d'un moyen de mettre en œuvre ma propre extension de la zone de texte pour ajouter cette fonctionnalité. Mais je suis coincé.
Ma question est si quelqu'un ici l'a fait avant ou savent instinctivement comment cela devrait être fait?
C'est à quel point je suis venu:
package com.smarttrust.m2m.gui.admin;
import com.vaadin.event.FieldEvents.FocusEvent;
import com.vaadin.event.FieldEvents.FocusListener;
import com.vaadin.terminal.gwt.client.ui.VCalendarPanel.FocusChangeListener;
import com.vaadin.ui.TextField;
public class M2MHintTextField extends TextField implements FocusListener {
private final String hint;
FocusListener listener = new FocusListener() {
@Override
public void focus(FocusEvent event) {
//TODO Auto-generated method stub
}
};
public M2MHintTextField(final String hint) {
super(hint);
this.hint = hint;
super.addListener(this.listener);
}
@Override
public void focus(FocusEvent event) {
//TODO Auto-generated method stub
}
}
Si vous avez résolu votre problème, ajoutez-le à la les réponses ci-dessous et de les accepter. De cette façon, d'autres avec le même problème pouvez dupliquer vos résultats.
OriginalL'auteur AndroidHustle | 2011-08-10
Vous devez vous connecter pour publier un commentaire.
Fonctionnalité intégrée
Après quelques recherches, j'ai trouvé que c'est une fonctionnalité intégrée dans tous les contrôles de saisie (Champ de texte, TextArea, DateField, ComboBox).
Vaadin Flux (Vaadin 10)
La fonctionnalité est une propriété appelée espace Réservé.
Vous pouvez éventuellement passer le texte de l'espace réservé à la constructeur de
TextField
, avec en option la valeur initiale.Ou appelez le setter et getter:
TextField::setPlaceholder
etTextField.getPlaceholder
.Vaadin 8
La fonctionnalité est une propriété appelée espace Réservé.
Appeler le getter/setter:
TextField::getPlaceholder
etTextField.setPlaceholder
.Vaadin 7
La fonctionnalité est une propriété appelée InputPrompt.
Appeler le getter/setter:
TextField::setInputPrompt
etTextField::getInputPrompt
.Le nom de la propriété a changé entre les versions de Vaadin. Peut-être que le changement de bit vous.
OriginalL'auteur AndroidHustle