2017-06-25 7 views
0

バインディングの設定については、ObjectProperty<TimeStamp>Stringに変換するにはどうすればよいですか?Javafxでは、オブジェクトプロパティ<TimeStamp>をテキストフィールドでバインドする方法

Bindings.bindBidirectional(admissionTextField.textProperty(), patient.admissionDateProperty(), new FormatStringConverter()); 
+1

いいえ、明らかにそうではありません:['FormatStringConverter'](https://docs.oracle.com/javase/8/javafx/api/javafx/util/converter/FormatStringConverter.html)は、0-アコースティックコンストラクタを提供しません。 – fabian

+0

どうすればいいですか? – Peng

+0

'StringConverter 'を実装して使うのが一番簡単でしょう。ただし、このコンバータは 'TextField'から部分入力を受け取ります。ユーザーが別のノードにフォーカスしたり、Enter/Returnキーを押した場合にのみ、変換を行うのが最善です。 – fabian

答えて

0

カスタムコードを少し書き込まずに、任意のJavaFXコントロールにタイムスタンプをバインドすることはできません。この場合、時間だけではなく日付が必要です。したがって、DatePickerを使用して、それをBeanのObjectPropertyプロパティにバインドすることができます。 BeanにTimestampのgetterとsetterを追加し、これらのメソッドをプロパティから取得して設定します。 https://gitlab.com/omniprof/TimestampTest.git

PS:この問題は、私の学生がJavaFXフォームでタイムスタンプを要求していることから起こったものです。私はそれが他の人が直面する問題であると考えました。

+0

ケン教授、これは本当に私を助けます!! – Peng

関連する問題