0

コンボ ボックスの内容を更新しようとしています (Griffon 1.2.0 と JavaFX プラグインを使用)。

私のモデル:

class MyModel {
    List monthList = FXCollections.observableList([new DateMidnight()])

    def convertDate = [
            fromString: { String s ->
                return new DateMidnight(DateTimeFormat.forPattern("yyyy-MM").parseDateTime(s))
            },
            toString: { DateMidnight d ->
                return "2011-10"
            }
    ] as StringConverter
}

私の見解には以下が含まれます:

comboBox(items: (model.monthList), converter: model.convertDate)

これで、ボタンを押すと呼び出されるコントローラー アクションができました。

def load = {
        execInsideUIAsync {
            def months = myService.buildMonthList()
            model.monthList.addAll(months)
        }
} 

問題は、コンボ ボックスの内容が変更されないことです。私が欠けているものを理解するのを手伝ってくれる人はいますか?

ComboBox に関するドキュメントはまだありませんhttp://groovyfx.org/docs/guide/single.html#choiceBoxComboBox

また、コンバーターを正しく実装しましたか?

4

1 に答える 1

0

問題は、アイテムの引数として渡すリストを使用する代わりに、GroovyFX.comboBox が新しいリストを作成することです。この問題は、tableView でも発生します。一時的な回避策は、このように items プロパティを直接設定することです

 comboBox(id: 'combo')
 noparent { combo.items = model.monthList }
于 2013-02-23T11:04:07.567 に答える