J'ai du mal à trouver des guides sur la façon de addEventHandler
pour textfield
afin qu'il fait la validation en temps réel à partir des éléments clés pour ne permettre hh:mm
format de l'heure. J'ai trouvé cette expression ^([0-9]|0[0-9]|1[0-9]|2[0-3]):[0-5][0-9]$
mais je ne sais pas comment l'ajouter au eventHandler
. Aussi j'essayais d'utiliser simpleDateFormat
mais sans succès.JavaFX: comment addEventHandler pour textfield de JavaFX pour valider le temps
Edit: Je suis en train de faire quelque chose comme ça (ce fut avec JFrame):
JTextField iegadesVerTesksts = new JTextField();
panel.add(iegadesVerTesksts);
iegadesVerTesksts.addKeyListener(new KeyAdapter() {
public void keyTyped(KeyEvent evt) {
char c = evt.getKeyChar();
if ((!(Character.isDigit(c) || (c == KeyEvent.VK_BACK_SPACE) || c == KeyEvent.VK_DELETE))
&&evt.getKeyChar()!='.') {
evt.consume();
}
if(evt.getKeyChar()=='.'&&iegadesVerTesksts.getText().contains(".")){
evt.consume();
}
}
});
En ce moment avec JavaFX J'ai créé principale et piezimes.java. En classe de produit I définir des objets que je veux créer:
public class Piezimes {
private LocalDate datums;
private String laiks;
private String piezime;
public Piezimes(){
this.datums = null;
this.laiks = "";
this.piezime = "";
}
public Piezimes (LocalDate datums, String laiks, String piezime){
this.datums = datums;
this.laiks = laiks;
this.piezime = piezime;
}
public LocalDate getDatums() {
return datums;
}
public void setDatums(LocalDate datums) {
this.datums = datums;
}
public String getLaiks() {
return laiks;
}
public void setLaiks(String laiks) {
this.laiks = laiks;
}
public String getPiezime() {
return piezime;
}
public void setPiezime(String piezime) {
this.piezime = piezime;
}
}
Et dans main.java j'ai créé tableView où à la fin, j'ai ajouté des boutons où j'appelle .getText
afin que je puisse l'entrée d'utilisateur. Seulement avec la validation du temps j'ai des problèmes avec. Méthode maintenant que j'appelle pour ajouter une entrée utilisateur à la table est: piezimes.setLaiks(laiksIevade.getText());
https: // stackoverflow. com/questions/31039449/java-8-u40-textformatter-javafx-to-limit-user-input-only-for-nombre-décimal https://stackoverflow.com/a/12851162/2189127 –
@James_D essayé les deux. Ne fonctionne pas pour mon programme ... –
Vous devez réécrire votre question pour montrer ce que vous avez essayé et expliquer de quelle manière cela ne fonctionne pas. Fournir un [MCVE]. Les questions liées fournissent la manière correcte de le faire. –