你可以设置JTable的细胞溢出吗?

时间:2013-08-14 20:29:33

标签: java swing jtable tablecellrenderer

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

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

2 个答案:

答案 0 :(得分:1)

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

  1. 输入文字时检查字符数
  2. 检查单元格的宽度并查看文本是否适合
  3. 如果文字不合适,请检查此文本旁边的单元格是否有文字
  4. 如果没有文字,请调整单元格的大小以适合文本,并使其旁边的文本更小。
  5. 或类似的东西。 但我不知道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

    我希望它可以帮到你。

答案 1 :(得分:1)

不,TableCellRenderer无法跨越细胞。作为替代方案,请考虑以下因素:

  • TablePopupEditor,自定义TableCellEditor,可以调整为渲染器。

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