【问题标题】:Display only the right side of long Text in JTable在 JTable 中只显示长文本的右侧
【发布时间】:2011-06-24 06:03:23
【问题描述】:

有没有可能在 JTable 中只显示长文本的右侧? 例如,我有这么长的字符串:

asldjklasjdklasjdklasjdlkasjkldjaslkjdklasjdklasjdlkajskldjaslk

在我的表格中显示:

asldjklasjdklas...

但我想要

...jdlkajskldjaslk

仅仅使列右对齐不起作用:(

【问题讨论】:

  • 我为您的解决方案提供了代码,并向您展示了如何将 LeftDotRenderer 添加到您的表格中,而您甚至没有给我投票或接受我的回答。好吧,我想我不会再帮你了。

标签: java swing user-interface jtable render


【解决方案1】:

您必须创建自己的 TableCellRenderer 实现:

class MyTableCellRenderer implements TableCellRenderer {
    ...
}

并用它替换 JTable 默认渲染器:

jTable.setDefaultRenderer(new MyTableCellRenderer());

或者,如果您只想为某个列设置它,比如第一列:

jTable.getColumnModel().getColumn(1).setCellRenderer(new MyTableCellRenderer())

@camickr 之前提到的Left Dot Renderer 是一个TableCellRenderer 实现。

【讨论】:

  • 好的,所以我已经这样做了:我有自己的 JTable,并将其添加到构造函数中:this.setDefaultRenderer(String.class, new LeftDotRenderer());但这不起作用:(leftdotrenderer甚至没有被调用一次,当我在其中做一些sysout的事情时,我从来没有看到任何输出
  • 啊好吧...@adrianboimvaser 工作,我的问题是我必须在渲染器中也使用我自己的 jtable 实现的类型...
  • @reox。这张海报所做的只是参考我在答案中发布的代码。
  • 我在你之前写了一半以上的答案。我给了你信用。此外,如果 LeftDotRenderer 网页不复存在,我的回答仍然有用。
【解决方案2】:

你可以试试Left Dot Renderer

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-10-06
    • 2017-01-07
    • 1970-01-01
    • 1970-01-01
    • 2019-01-09
    • 1970-01-01
    相关资源
    最近更新 更多