SettingsPane
は、プロパティのエディタを自動的に選択できます。コンポーネントは、各プロパティのタイプのために選択されているSettingsPane内のプロパティタイプとそのエディタ間のマッピングは何ですか?
:?そのdoecsでは、それは私がこの点で2つの質問を持っている
The SettingsPane control is designed to make it really easy for developers to present to end users a list of options that can be modified, using proper built-in editors according the type of those options.
を語りますかブーリアンの右端にはトグルがあり、数字にはテキストフィールドがあり、
ObjectProperty<Color>
にはカラーチェッカーがあります(デスクトップではポップアウトしますが、モバイルではどうなるのでしょうか?)。残りのマッピングは何ですか?enumプロパティを設定しようとすると、
ObjectProperty<EnumType>
レンダラーがないとエラーが発生します。私は、コンボボックスが、既知の数の列挙型定数から選択するためのデフォルトになると思うでしょうか?私はエディターの工場でそれを実現できると知っていますが、とにかくこれについて質問したかったのですが、もし私が間違いをしなかったならば、示唆になるかもしれません。
編集
私は、カスタムエディタのSettingPane例で再び探しています:http://docs.gluonhq.com/charm/javadoc/4.3.7/com/gluonhq/charm/glisten/control/SettingsPane.html と私は2つの問題気づい:のコード例では
をチェックボックスのエディタ私のコメントを参照してください:
public class CheckBoxEditor implements OptionEditor<Boolean> { private final CheckBox checkBox; public CheckBoxEditor(Option<Boolean> option) { this.checkBox = new CheckBox(); valueProperty().bindBidirectional(option.valueProperty()); }} // only 1 } @Override public Node getEditor() { return checkBox; } @Override public final Property<Boolean> valueProperty() { return checkBox.selectedProperty(); } @Override public Boolean getValue() { return checkBox.isSelected(); } @Override public void setValue(Boolean value) { checkBox.setSelected(value); } // missing }
使用例では:
final Option<BooleanProperty> dateOption = new DefaultOption(MaterialDesignIcon.DATE_RANGE.graphic(), "Show Date", "Show the date", "Category", settings.showDateProperty(), true, option -> new CheckBoxEditor((Option<Boolean>) option));
ラムダは私にコンパイルエラーを与える:
Type mismatch: cannot convert from CheckBoxEditor to OptionEditor<BooleanProperty>
とoption
はタイプOption<BooleanProperty>
のものであり、キャストはOption<Boolean>
にあります。間違い? SettingsPane
controlため
私はレンダリングオプション、プロパティの値がnullのとき、私の2番目の質問が起こるに列挙型のエラーが、これは印刷 'エラーであることがわかっていないテストした後for:
すべてのプロパティについて、その値をレンダリングする方法が必要です。必要に応じてコンバータを定義することができます。ジェネリックに関しては、 'new DefaultOption <>'を使うとデフォルトのエディタを使うとうまくいきますが、カスタムエディタを追加するときに 'BooleanProperty'と' Boolean'の型が一致せず、できません。 Optionの型が単に 'Boolean'(' wifi.getValue() ')であれば動作しますが、それは観測できません。 –
ねえ、この質問を見ることができますかhttps://stackoverflow.com/questions/46815240/dialog-causes-drag-done-events-to-not-propagate? – Mark