Я пытаюсь создать некоторые кнопки JavaFX с иконками FontAwesomeFX, используя TornadoFX. Это кодНе могу использовать fontawesomefx с kotlin и 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
}
В сборнике я получаю эту ошибку:
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 таким образом, чтобы этот код работал?
Ничего себе. Ничего похожего не ответит ведущий программист! У меня начальный контакт с котлином и торнадофом. Итак, я не знаю лучших решений проблемы. Во всяком случае, спасибо большое !!! –
С удовольствием помогите :) Продолжайте задавать вопросы, хорошо получить больше информации о TornadoFX здесь, на SO! –