J'essaie de créer des boutons JavaFX avec des icônes FontAwesomeFX en utilisant TornadoFX. Voici le codeJe ne peux pas utiliser fontawesomefx avec kotlin et tornadofx
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
}
Dans la compilation je reçois cette erreur:
Type parameter bound for T in var <T : Enum<T!>!> GlyphIcon<T>.size: String! where T : GlyphIcons!
est pas satisfait: le type déduit CapturedTypeConstructor (*) n'est pas un sous-type de GlyphIcons!
Le GlyphIcon est une classe abstraite Java avec cette déclaration:
public abstract class GlyphIcon<T extends Enum<T> & GlyphIcons> extends Text
Je ne sais pas comment tourner autour de cette erreur. Si je déclare:
data class ButtonInfo(val texto: String, val icon: Text)
Je ne comprends pas l'erreur mentionnée ci-dessus, mais je manque propriété « .Size ». Comment puis-je déclarer ma classe 'ButtonInfo' pour que ce code fonctionne?
Wow. Rien ne peut être répondu par le programmeur principal! Je suis en contact initial avec kotlin et tornadofx. Donc, je ne connais pas les meilleures solutions pour un problème. En tout cas, merci beaucoup !!! –
Heureux d'aider :) Gardez les questions à venir, il est bon d'obtenir plus d'informations sur TornadoFX ici sur SO! –