Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/372.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 仅显示JTable中长文本的右侧_Java_Swing_User Interface_Jtable_Render - Fatal编程技术网

Java 仅显示JTable中长文本的右侧

Java 仅显示JTable中长文本的右侧,java,swing,user-interface,jtable,render,Java,Swing,User Interface,Jtable,Render,在JTable中是否有可能只显示长文本的右侧? 我有一根长长的绳子: asldjklasjdklasjdklasjdlkasjkldjaslkjdklasjdklasjdlkajskldjaslk 在我的表格中显示: asldjklasjdklas... 但是我想要 ...jdlkajskldjaslk 仅使列右对齐不起作用:(您可以尝试。您必须创建自己的实现: class MyTableCellRenderer implements TableCellRenderer { ...

在JTable中是否有可能只显示长文本的右侧? 我有一根长长的绳子:

asldjklasjdklasjdklasjdlkasjkldjaslkjdklasjdklasjdlkajskldjaslk
在我的表格中显示:

asldjklasjdklas...
但是我想要

...jdlkajskldjaslk

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

您可以尝试。

您必须创建自己的实现:

class MyTableCellRenderer implements TableCellRenderer {
    ...
}
并用它替换默认渲染器:

jTable.setDefaultRenderer(new MyTableCellRenderer());
或者,如果您只想将其设置为某个列,例如,第一列:

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

@camickr之前提到的是一个实现。

ok,我已经这样做了:我有自己的JTable,并将其添加到构造函数中:this.setDefaultRenderer(String.class,new LeftDotRenderer());但这不起作用:(leftdotrenderer甚至没有被调用过一次,当我在其中做一些sysout的东西时,我从来没有看到任何输出…@adrianboimvaser工作正常,我的问题是我不得不在renderer中使用我自己的jtable实现的类型…@reox。这张海报所做的只是引用了我在答案中发布的代码。我之前写了一半以上的答案。)或者你的。我给了你荣誉。而且,如果LeftDotRenderer网页不再存在,我的答案仍然有用。我提供了解决方案的代码,并向你展示如何将LeftDotRenderer添加到你的表中,而你甚至不给我投票或接受我的答案。我想我不会再帮助你了。