2016-08-02 2 views
1

Я пытаюсь выяснить, как сделать ввод подтверждения текстового поля, когда мне нужно, например, ввести дату. Он должен быть в формате 31.8.2016, и он должен быть сегодня или позже. Так что это две разные проверки.JavaFX - проверка ввода нескольких символов в TextField

Только способ, которым я могу придумать, - создать логический метод, который будет проверять, прошла ли дата или будущее. Но мне нужно будет создать новый метод, чтобы проверить, будет ли он в правильном формате, который будет сложнее, но я думаю, что это неправильный подход.

+0

может это помочь вам => http://stackoverflow.com/questions/28432576/javafx-datepicker-validation –

+0

Почему у меня нет тега выбора даты в моей библиотеке Scene Builder? – MaraSimo

+0

Какая версия SceneBuilder у вас есть? –

ответ

0

Я обычно создаю класс даты, которая выглядит следующим образом:

общественного класс Дата {

private boolean validDay = false; 
    private boolean validMonth = false; 
    private boolean validYear = false; 
    private int day; 
    private int month; 
    private int year; 
    private Calendar cal = Calendar.getInstance(); 

    public Date(int day, int month, int year){ 
     /* 
     *All of these conditions can also be individually used to check the conditions you 
     *want to check. simply create 3 texfields and put them in a HBox all values must be entered 
     *separately ! 
     */ 
     if(day>=cal.get(Calendar.DAY_OF_MONTH) && day<=cal.getActualMaximum(Calendar.DAY_OF_MONTH)){ 
      this.day = day; 
      this.validDay = true; 
     } 
     else{ 
      //TODO: handle 
     } 
     if(month>=cal.get(Calendar.MONTH) && month<=12){ 
      this.month = month; 
      this.validMonth= true; 
     } 
     else{ 
      //TODO: handle 
     } 
     if(year>=cal.get(Calendar.YEAR)){ 
      this.year = year; 
      this.validYear = true; 
     } 
     else{ 
      //TODO: handle 
     } 
    } 
    public boolean isDateValid(){ 
     return validDay && validMonth && validYear; 
    } 
    public String getDate(){ 
     return day+"."+month+"."+year; 
    } 
    public int getDay() { 
     return day; 
    } 
    public int getMonth() { 
     return month; 
    } 
    public int getYear() { 
     return year; 
    } 
} 

можно разделить вход с Струнным сплиттером и датой клети! вы также можете добавить методы набора! есть много способов сделать это! Надеюсь, это поможет!

 Смежные вопросы

  • Нет связанных вопросов^_^