簡體   English   中英

如何使用TornadoFx將組合框添加到Kotlin中的表視圖

[英]How to add a combobox to a tableview in Kotlin using TornadoFx

我正在嘗試使用tornadofx將組合框添加到表視圖中; 我最接近的是我認為應該起作用的東西: column<AvailableRooms, ComboBox<String>>("Pets Allowed", combobox<String>(values = listOf<String>("3","5")))

我已經閱讀了文檔,但似乎其中有很多是書面的,而且不可靠。 我是JavaFx的新手,正在學習。 我學習Kotlin是因為我認為使用它們的JavaFx(TornadoFx)版本會更容易理解。

任何指導將不勝感激。

IMG: 在此處輸入圖片說明

更新

TableView img: 在此處輸入圖片說明

列構建器的第二個類型參數不是UI元素類型,而是值類型,因此在您的情況下,它應該是String。 這是一個完整的示例應用程序,展示了如何在TableView中使用ComboBox:

class Person {
    val nameProperty = SimpleStringProperty()
    var name by nameProperty

    val favoriteFruitProperty = SimpleStringProperty()
    var favoriteFruit by favoriteFruitProperty
}

class MyView : View() {
    val fruits = listOf("Apple", "Banana", "Pear")

    override val root = tableview<Person> {
        isEditable = true

        column("Name", Person::nameProperty)
        column<Person, String?>("Favorite fruit", Person::favoriteFruitProperty).useComboBox(fruits.observable())

        // Populate with test data. Don't try this at home
        asyncItems {
            listOf(Person().apply { name = "John"; favoriteFruit = "Apple" }, Person().apply { name = "Jane" })
        }
    }
}

該指南確實要求您至少了解一些JavaFX基礎知識,因此,如果您以前沒有JavaFX知識,那么它肯定是不完整的。 不過,它也不應該是不可靠的,所以請告訴我其中是否有錯誤,或者您是否有改進建議。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM