gpt4 book ai didi

java - JTable 单元格中的对齐方式

转载 作者:行者123 更新时间:2023-12-02 06:42:06 25 4
gpt4 key购买 nike

我正在使用以下 DefaultTableCellRenderer 在表格中显示货币。它也工作得很好,我唯一的问题是,我设置此渲染器的列中的数字向左对齐,其他所有内容都向右对齐。我想知道为什么。

public class DecimalFormatRenderer extends DefaultTableCellRenderer {

public static final DecimalFormat formatter = new DecimalFormat("#.00");

@Override
public Component getTableCellRendererComponent(
JTable table, Object value, boolean isSelected, boolean hasFocus, int row, int column) {
value = formatter.format((Number) value);
return super.getTableCellRendererComponent(
table, value, isSelected, hasFocus, row, column);
}
}

最佳答案

JTable 用于渲染数字的默认单元格渲染器将其水平对齐设置为 JLabel.RIGHT...

static class NumberRenderer extends DefaultTableCellRenderer.UIResource {
public NumberRenderer() {
super();
setHorizontalAlignment(JLabel.RIGHT);
}
}

默认情况下,您的渲染将使用 JLabel.LEADING(基于 JLabel)。

如果您更改渲染器以在构造函数中设置水平对齐方式,它应该对齐到您想要的位置...

public class DecimalFormatRenderer extends DefaultTableCellRenderer {

//...

public DecimalFormatRenderer() {
super();
setHorizontalAlignment(JLabel.RIGHT);
}

//...
}

关于java - JTable 单元格中的对齐方式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19045393/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com