0

我需要使用 JTable 第一列的内容来设置 JComboBox 下拉列表中的值。问题是 JTable 采用不同的形式 (JFrame),因此不能直接访问私有 JComboBox。如何从 JTable 表单向 JComboBox 表单发送信号和/或事件,让它知道它需要更新它的下拉内容?我不关心数据,我可以创建一个 public String[] 或其他东西,但我如何正确通知 JComboBox 它需要自行更新?

4

2 回答 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 回答