我需要使用 JTable 第一列的内容来设置 JComboBox 下拉列表中的值。问题是 JTable 采用不同的形式 (JFrame),因此不能直接访问私有 JComboBox。如何从 JTable 表单向 JComboBox 表单发送信号和/或事件,让它知道它需要更新它的下拉内容?我不关心数据,我可以创建一个 public String[] 或其他东西,但我如何正确通知 JComboBox 它需要自行更新?
问问题
179 次
2 回答
3
我需要使用 a 的第一列的内容
JTable
来设置JComboBox
下拉列表中的值。问题是JTable
是在不同的形式 (JFrame
) 所以私人JComboBox
不能直接访问。
为什么 theJComboBox
和 theJTable
应该可以互相访问?这些只是视图组件。如果您想显示组合框而不显示表格(例如在测试中)会发生什么?如果它直接从那里检索数据,那么JTable
您有一个严重的问题。在你创建你的那一刻,JTable
你有一个TableModel
包含JTable
. 应该共享的是该模型(或至少该模型中的数据)。
所以让组合框的模型和表格的模型共享相同的数据,一切都会好起来的。
于 2012-05-03T21:31:53.213 回答
2
Swing MVC 模型会说您应该更新模型对象。当 JComboBox 重新显示时,它会看到新的模型值。
于 2012-05-03T20:38:10.540 回答