在JTable列中设置右对齐

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了在JTable列中设置右对齐相关的知识,希望对你有一定的参考价值。

我正在为计费工具创建一个应用程序。我希望使用右对齐显示金额列。如何为JTable列设置正确的对齐方式?

答案
DefaultTableCellRenderer rightRenderer = new DefaultTableCellRenderer();
rightRenderer.setHorizontalAlignment(JLabel.RIGHT);
table.getColumnModel().getColumn(4).setCellRenderer(rightRenderer);
另一答案

试试这个:

JTable tbl = new JTable(3,3) {
    DefaultTableCellRenderer renderRight = new DefaultTableCellRenderer();

    { // initializer block
        renderRight.setHorizontalAlignment(SwingConstants.RIGHT);
    }

    @Override
    public TableCellRenderer getCellRenderer (int arg0, int arg1) {
        return renderRight;
    }
};
另一答案

请参阅Concepts: Editors and Renderers,注意“Number - 由右对齐标签呈现。”让你的TableModel返回正确的课程。作为一个具体的例子,请注意IntegerNumber,同时在这个getColumnClass()中检查example的实现。在这个相关的example中,第0个colIndex返回Object.class,它“由显示对象的字符串值的标签呈现”。默认情况下,标签是左对齐的。

switch (colIndex) {
    case 0: return Object.class;
    …
}

left-aligned

相比之下,Integer.class“由右对齐标签呈现”。

switch (colIndex) {
    case 0: return Integer.class;
    …
}

right-aligned

这些是使用Class Literals as Runtime-Type Tokens的例子,在here的背景下讨论了JTable

另一答案

您必须为表格单元格获取DefaultTableCellRenderer并调用setHorizo​​ntalAlignment(alignment)。

示例可以在链接上找到:

http://www.techrepublic.com/article/how-to-justify-data-in-a-jtable-cell/5032692/

http://www.coderanch.com/t/337549/GUI/java/align-data-columns-JTable

以上是关于在JTable列中设置右对齐的主要内容,如果未能解决你的问题,请参考以下文章

pyqt5的QListWidget中设置右键菜单

Swing Jtable 添加checkbox列

JTable中的换行,右对齐,自动调整行高

如何在JTable中的特定行中设置颜色

以比例字体格式化的 JTable 列中的对齐日期部分

请问在java JTable中如何设置单元格字体居中对齐?