У меня 2 проблемы. Я пытаюсь создать Crud с ListView
. Теперь вот как я хочу, чтобы мой интерфейс выглядел .
Я создал это с помощью следующего кода:
var studentManagementListView: ListView = ListView {
items: ["bla", "bla", "bla", "bla", "bla", "bla", "bla", "bla", "bla", "bla", "bla"]
cellFactory: function() {
def listCell: ListCell = ListCell {
node: HBox {
spacing: 10
content: [
Label {
text: bind if (listCell.empty) then "" else "{listCell.item}"
visible: bind not listCell.selected and not listCell.empty
}
TextBox {
text: bind listCell.item.toString()
columns: 12
visible: bind listCell.selected and not listCell.empty
selectOnFocus: true
}
SwingComboBox {
visible: bind listCell.selected and not listCell.empty
items: for (classItem in classes) {
SwingComboBoxItem {
selected: false
text: classItem.toString()
value: classItem
}
}
}
Button {
text: "delete"
visible: bind listCell.selected and not listCell.empty
action: function() {
}
}
Button {
text: "save"
visible: bind listCell.selected and not listCell.empty
action: function() {
}
}
]
}
}
}
};
Теперь вот мои проблемы.
-
SwingComboBox
действует очень странно, он открывается только тогда, когда ListCell
только что выбран. Также невозможно выбрать SwingComboBoxItem
.
- Как я могу получить доступ к переменной "text" внутри действия кнопки сохранения? или любая другая переменная (например, выбранная
ComboBox
)? Я попытался определить ListCell за пределами ListView
и вообще определить все, что находится за пределами ListView
, поэтому я могу легко использовать все, но у меня возникла ошибка, сказав, что некоторые вещи уже определены.
В основном для второй проблемы, я просто хочу знать, как заполнить ListView
иначе, чем я делаю сейчас.
Я не нашел ничего полезного на машине Google. Если кто-то может помочь, я буду благодарен!