2017-09-21 21 views
1

datePicker JavaFX 8に日付範囲の制限を設定する方法を知っている人はいますか?日付範囲をdatePicker JavaFX 8に制限する

は、例えば私は、実際の月(9月)のために

enter image description here

事前のおかげで多くのことを、この日付ピッカーを制限したいと思います。

よろしくお願いいたします。

答えて

-1

以下のコードは、日付怒りのDatePickerをJan2000からtillDateに制限します。

restrictDatePicker(datePicker、LocalDate.of(2000、Month.JANUARY、1)、LocalDate.now());

要件ごとに最小値と最大値を変更できます。

public void restrictDatePicker(DatePicker datePicker, LocalDate minDate, LocalDate maxDate) { 
    final Callback<DatePicker, DateCell> dayCellFactory = new Callback<DatePicker, DateCell>() { 
     @Override 
     public DateCell call(final DatePicker datePicker) { 
      return new DateCell() { 
       @Override 
       public void updateItem(LocalDate item, boolean empty) { 
        super.updateItem(item, empty); 
        if (item.isBefore(minDate)) { 
         setDisable(true); 
         setStyle("-fx-background-color: #ffc0cb;"); 
        }else if (item.isAfter(maxDate)) { 
         setDisable(true); 
         setStyle("-fx-background-color: #ffc0cb;"); 
        } 
       } 
      }; 
     } 
    }; 
    datePicker.setDayCellFactory(dayCellFactory); 
} 

参照してくださいリンク:https://docs.oracle.com/javase/8/javafx/user-interface-tutorial/date-picker.htm#CCHEBIFF

+0

「コードのみ」の答えがこのサイトにがっかりしています。どのように動作するのか、どのように使用するのかを説明する必要があります。また、コンテキストを説明する必要があります: 'checkInDatePicker'は、このセルファクトリが適用されているものとは異なる*日付ピッカーです。最後に、このコードは[別のサイト](https://docs.oracle.com/javase/9​​/docs/api/javafx/scene/layout/BorderPane.html)から取得されているため、次の点を確認してリンクする必要があります。それは少なくとも最も失礼なことです。最悪の場合、法的な結果にあなたをさらす可能性があります。 –

+0

これは私の最初の投稿なので、あなたのレビューと提案をありがとう、私は言及するすべての詳細の明確ではない。あなたの指針に従って、私は答えを更新しました。 – Prashant

関連する問題