【发布时间】:2014-08-19 20:07:20
【问题描述】:
在 Swing 中可以在 JTable 中创建 JComboBox,正如来自 Oracle 的 this guide 所见。他们有一张可爱的图片展示了这一点:
但是,无法显示的是,如果您没有单击单元格,则下拉箭头不可见,它看起来就像一个普通的文本标签,如下所示:
你可以看到 knitting 有下拉箭头,因为我只是点击了它,但其他的没有。遗憾的是,这不太理想,因为没有可以单击单元格以显示选项列表的视觉提示。换句话说,“运动”列看起来与“姓氏”列相同。其中一个是下拉菜单,另一个不是,但它们在视觉上看起来是一样的,除非您碰巧点击其中一个。
有什么方法可以在 Swing 中完成吗?
编辑:澄清一下,我想要的是“运动”列中的所有单元格都有指示下拉菜单的箭头,即使它们不是至少一次点击。基本上,无论我是否点击它,我都希望它看起来像一个组合框。
【问题讨论】:
-
这是
JTable的默认行为,渲染和编辑是两种不同的状态。就个人而言,您真的不想让 UI 中出现不需要的东西……但那就是我…… -
@MadProgrammer,在某些用例中,JTable 上的下拉列表可能很有用,如上面 Oracle 的示例所示。问题是您不知道该选项存在,因为在您单击它之前没有视觉线索。
-
你没有抓住重点。在编辑模式下,
Sport列中的每个单元格都由一个组合框支持。渲染时,它们只是显示为“文本” -
@MadProgrammer,我知道它在不处于编辑模式时仅显示为“文本”,而在编辑模式时显示为组合框。我想要的是它在两者中都显示为组合框。
-
恕我直言,我认为你是在自找麻烦,但我知道什么;)
标签: java swing jtable jcombobox