0

我试图在我的 JTable 上模仿一些 Excel 电子表格功能,特别是我一直称之为单元格溢出或单元格溢出的功能。当您使用比单元格设置的宽度更宽的文本填充单元格时,会发生这种情况。如果其右侧的单元格中没有文本,则单词只会继续进入下一个单元格并超出该单元格。

我觉得这可以通过 TableCellRenderer 以某种方式完成,但我不知道如何。任何帮助将非常感激

4

2 回答 2

1

我不知道,因为您没有提供很多细节,但一个简单的用例是:

  1. 输入文本时检查字符数
  2. 检查单元格的宽度并查看文本是否适合
  3. 如果文本不适合检查此单元格旁边的单元格是否有文本
  4. 如果它没有文本,请调整单元格的大小以适合文本并使其旁边的单元格变小。

或类似的东西。但我不知道 JTable 是否允许调整单个单元格的大小,您应该检查 JTable API。 http://docs.oracle.com/javase/6/docs/api/javax/swing/JTable.html

而且我不知道是否有更好的方法,所以你应该查阅 API 文档和示例。例如:http ://users.csc.calpoly.edu/~jdalbey/305/Lectures/TableCellRendererExamples.html

我希望它对你有帮助。

于 2013-08-14T20:41:27.993 回答
1

不,aTableCellRenderer不能跨越单元格。作为替代方案,请考虑以下几点:

  • TablePopupEditor,一个自定义的TableCellEditor,可以被适配为一个渲染器。

  • 此处ListSelectionListener显示的 A可以添加到相邻组件中,以显示所选行的详细信息,可能使用.JScrollPane

于 2013-08-15T13:21:29.527 回答