2017-12-12 10 views
-2

私は大規模なJavaアプリケーションをEclipse 4.x RCPに移植しています。私は、EclipseやOSGIプリファレンスの選択肢の代わりに、様々なJFaceクラス、特にいくつかのプリファレンス機能を使用してきました。JFaceフローティングFieldEditor

なぜJFace PreferenceStoreにBigDecimal/Decimal/double/floatの設定がないのですか? FieldEditors eclipse.orgのウェブサイトを実装し、デフォルトから:

org.eclipse.jface.preference.FieldEditor

org.eclipse.jface.preference.BooleanFieldEditor 
org.eclipse.jface.preference.ColorFieldEditor 
org.eclipse.jface.preference.ComboFieldEditor 
org.eclipse.jface.preference.FontFieldEditor 
org.eclipse.jface.preference.ListEditor 
    org.eclipse.jface.preference.PathEditor 
org.eclipse.jface.preference.RadioGroupFieldEditor 
org.eclipse.jface.preference.ScaleFieldEditor 
org.eclipse.jface.preference.StringFieldEditor 
    org.eclipse.jface.preference.IntegerFieldEditor 
    org.eclipse.jface.preference.StringButtonFieldEditor 
     org.eclipse.jface.preference.DirectoryFieldEditor 
     org.eclipse.jface.preference.FileFieldEditor 

は人々にダブルスのためのすべての手のコードサブクラスですか?よく使われる実装はありますか?私が何かを見逃しているようです...私の具体的なケースでは、価格設定や品目ごとの価格などの米ドルの設定が必要です。したがって、価格が "$ 6.99"になる必要があります。ベース10桁。

答えて

0

私たちはJFaceのデザイナーではないので、なぜ彼らが何かしなかった理由を教えてくれません。

通貨の場合は、BigDecimalに固執する必要があります。 doublefloatは通貨には適していません - hereを参照してください。

BigDecimalを優先して保存するには、Stringとして保存する必要があります。 StringFieldEditorクラスを拡張し、doCheckStateメソッドをオーバーライドして、文字列が有効な大きな10進数値であることを確認できます。

+0

オーバーライドコメントをいただき、ありがとうございました。私は最終的に、私が必要としていた倍を処理するGoogleの派生クラスを発見しました。 – EclipseE4

関連する問題