我想創建一些JavaFX按鈕與FontAwesomeFX圖標使用TornadoFX。這是代碼不能使用kotlin和tornadofx fontawesomefx
data class ButtonInfo(val texto: String, val icon: GlyphIcon<*>)
val list = listOf(
ButtonInfo("Cadastro", FontAwesomeIconView(FontAwesomeIcon.ADDRESS_BOOK)),
ButtonInfo("Corrida", MaterialDesignIconView(MaterialDesignIcon.RUN)),
ButtonInfo("Classificacao", FontAwesomeIconView(FontAwesomeIcon.LIST)))
list.forEach {
it.icon.size = "3em"
val bt = Button(it.texto, it.icon)
bt.contentDisplay = ContentDisplay.TOP
bt.minWidth = 200.0
root += bt
}
在編譯我得到這個錯誤:
Type parameter bound for T in var <T : Enum<T!>!> GlyphIcon<T>.size: String! where T : GlyphIcons!
不滿意:推斷類型CapturedTypeConstructor(*)不是GlyphIcons的子類型!
的GlyphIcon是一個Java抽象類與此聲明:
public abstract class GlyphIcon<T extends Enum<T> & GlyphIcons> extends Text
我不知道如何解決這個錯誤轉動。如果我聲明:
data class ButtonInfo(val texto: String, val icon: Text)
我沒有得到上面提到的錯誤,但我想念'.size'屬性。我如何聲明我的班'ButtonInfo',以便此代碼工作?
哇。沒有什麼事情可以像領導程序員一樣回答!我最初接觸kotlin和tornadofx。所以,我不知道問題的最佳解決方案。無論如何,非常感謝! –
高興地幫助:)保持問題的到來,很高興在這裏獲得關於TornadoFX的更多信息! –