I have hard time finding any guides on how to addEventHandler
for textfield
so that it does real time validation from key inputs to only allow hh:mm
time format. I found this expression ^([0-9]|0[0-9]|1[0-9]|2[0-3]):[0-5][0-9]$
but don't know how to add it to the eventHandler
.
Also I was trying to use simpleDateFormat
but with no success.
Edit: I'm trying to to make something like this (this was with 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();
}
}
});
Right now with JavaFX I have created main and piezimes.java. In product class I define objects I want to create:
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;
}
}
And In main.java I have created tableView where at the end I added buttons where I call .getText
so I can user input. Only with time validation I have problems with.
Method right now that I call to add user input to table is: piezimes.setLaiks(laiksIevade.getText());