【发布时间】:2014-06-18 06:02:36
【问题描述】:
我有一个包含员工 ObservableList 的单身 EmployeeDatabase。
此 ObsList 填充可编辑组合框的内容。
当用户从组合框中选择一名员工并点击按钮时,我希望该员工(来自数据库)显示在控制台的 toString() 中。
问题是,可编辑的组合框不允许我直接选择员工。我应该使用 StringConverter 将该字符串转换为 Employee。
但是 Employee 已经存在于单例数据库中!我必须在数据库中搜索它们吗?或者有没有更简单的方法让 Employee 好像组合框不可编辑,而我所要做的就是 cmbx.getSelectionModel().getSelectedItem()?
【问题讨论】:
-
你覆盖Employee.toString() 吗?尝试使用 ComboBox
-
您真的希望
ComboBox可编辑吗?如果他们输入的内容不代表数据库中的员工,计划是什么? -
如果员工不在数据库中,将显示一个弹出窗口,要求他们手动将“东西”添加到数据库中,无论是否是员工。 (询问名字、姓氏等)
-
听起来您正在尝试将单个控件用于多个任务,这并不一定能实现最佳的用户交互。我可能会考虑有一个不可编辑的
ComboBox和一个名为“创建新员工...”的按钮,它打开了对话框。我会按照你所说的那样回答这个问题...... -
我确实有一个按钮可以打开数据库进行编辑(添加、删除等)。我也同意你的观点,直接输入新员工的文本字段是一个奇怪的想法。这是我的客户想要的。 :\
标签: user-interface combobox javafx