0

我最近遇到了一个问题,我需要一个可以换行文本并在换行时增加行高的字段,类似于 Microsoft Excel。我设法让它正常工作,唯一的问题是该表包含多个 JComboBoxes。当行高从环绕文本的字段开始增加时,JComboBox 窗口和 ArrowButton 的大小也会增加。我为 JComboBox 字段使用 DefaultCellEditor,并创建了我自己的编辑器/渲染器以与 JTextArea 字段一起使用。一旦选择了 JComboBox 的值,该值就会在字段中正确显示,唯一的问题是当我选择值时,JComboBox 窗口和 ArrowButton 可能会很大,具体取决于行的大小。有什么办法可以增加行高,但是 JComboBox 字段高度是否保持不变而不是增长以填充它所在的列?我想我可能还需要为 JComboBox 字段创建一个自定义单元格编辑器,而不是使用默认值。提前致谢!

4

2 回答 2

0

首先,JComboBox在 aBorderLayout和设置为BorderLayout.CENTER? 如果是这样,我会将其更改为不同的布局,例如AbsoluteLayout它不会拉伸以填充单元格。

另外,我还将向您推荐这篇将 JComboBox 放入 JTable的帖子

于 2010-09-29T22:58:43.973 回答
0

我想我可能还需要为 JComboBox 字段创建一个自定义单元格编辑器,而不是使用默认值

这可能是解决方案,因为编辑器的大小由单元格的大小决定。

我会尝试使用带有 BorderLayout 的 JPanel 作为编辑器组件。然后将编辑器添加到面板的北部。

这将是最容易创建的编辑器,因为所有鼠标事件和按键事件都传递给我相信的编辑器,这意味着面板将获取事件,而不是组合框。所以我想你需要将这些事件转发到组合框。

于 2010-09-30T00:03:24.230 回答