バインディングの設定については、ObjectProperty<TimeStamp>
をString
に変換するにはどうすればよいですか?Javafxでは、オブジェクトプロパティ<TimeStamp>をテキストフィールドでバインドする方法
Bindings.bindBidirectional(admissionTextField.textProperty(), patient.admissionDateProperty(), new FormatStringConverter());
バインディングの設定については、ObjectProperty<TimeStamp>
をString
に変換するにはどうすればよいですか?Javafxでは、オブジェクトプロパティ<TimeStamp>をテキストフィールドでバインドする方法
Bindings.bindBidirectional(admissionTextField.textProperty(), patient.admissionDateProperty(), new FormatStringConverter());
カスタムコードを少し書き込まずに、任意のJavaFXコントロールにタイムスタンプをバインドすることはできません。この場合、時間だけではなく日付が必要です。したがって、DatePickerを使用して、それをBeanのObjectPropertyプロパティにバインドすることができます。 BeanにTimestampのgetterとsetterを追加し、これらのメソッドをプロパティから取得して設定します。 https://gitlab.com/omniprof/TimestampTest.git
PS:この問題は、私の学生がJavaFXフォームでタイムスタンプを要求していることから起こったものです。私はそれが他の人が直面する問題であると考えました。
ケン教授、これは本当に私を助けます!! – Peng
いいえ、明らかにそうではありません:['FormatStringConverter'](https://docs.oracle.com/javase/8/javafx/api/javafx/util/converter/FormatStringConverter.html)は、0-アコースティックコンストラクタを提供しません。 – fabian
どうすればいいですか? – Peng
'StringConverter'を実装して使うのが一番簡単でしょう。ただし、このコンバータは 'TextField'から部分入力を受け取ります。ユーザーが別のノードにフォーカスしたり、Enter/Returnキーを押した場合にのみ、変換を行うのが最善です。 –
fabian