好的,我已经有了一个表设置,其中我将 JComboBox 添加到特定单元格,就像示例 here 中所做的那样,但由于某种原因,在选择该单元格之前组合框不会显示。如果我选择该单元格,组合框将打开它的列表供我选择。无论我是否更改选择,如果我单击表中的另一个单元格,它都会显示从组合框中选择的项目的文本,就好像它是根据需要在表中显示的简单字符串一样。
我的问题是:如何让它在 JComboBox 中显示所选值,而不必先选择单元格?
编辑:我忘记提到的一件事是;不像以前那样预先声明 DefaultTableModel 数据
,而是稍后使用 model.addRow();
最佳答案
这是正常行为。表格使用渲染器和编辑器。单元格的默认渲染器只是一个 JLabel,因此您看到的只是文本。当您单击单元格时,将调用编辑器,以便您看到组合框。
如果您希望单元格看起来像组合框,即使它没有被编辑,那么您需要为该列创建一个组合框渲染器。
阅读 Swing 教程中关于 Using Custom Renderers 的部分了解更多信息。
关于单击单元格之前表中的 Java JComboBox 不显示,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15013504/