gpt4 book ai didi

java - 在 JXTable 单元格中设置日期格式

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

关于this thread我已经弄清楚如何将 JXDatePicker 添加到 JXTable(或 JTable)单元格中。但我现在有一个小问题。

DatePicker 弹出并根据我的需要正常工作。但我无法更改单元格中日期的显示格式。它以以下长格式显示。

Eg: Wed Aug 01 00:00:00 IST 2012

但我需要 dd-MMM-yyyy 格式。

我尝试更改 DatePickerCellEditor 的格式。它部分有效。这意味着,现在当该单元格处于焦点状态时,它会根据设置的格式显示日期。但是当我关注其他单元格时,它再次回到上面的格式。

可能问题不在于 DatePickerCellEditor,可能是它必须对 tableModel 执行某些操作。但想不通。任何帮助表示感谢..

谢谢!

最佳答案

根据您之前的问题,过程几乎相同,只是您想使用渲染器而不是编辑器

public class DateCellRenderer extends DefaultTableCellRenderer {

@Override
public Component getTableCellRendererComponent(JTable jtable, Object value, boolean selected, boolean hasFocus, int row, int column) {

if (value instanceof Date) {

// You could use SimpleDateFormatter instead
value = DateFormat.getDateInstance().format(value);

}


return super.getTableCellRendererComponent(jtable, value, selected, hasFocus, row, column);

}

然后,要应用渲染,您可以将其应用到特定列(这样只有该列才会使用它),或者在像 Date 这样的情况下,您可能希望将它用于所有列使用Date值的列...

JTable table = new JTable();

DateCellRenderer renderer = new DateCellRenderer();
// Apply for a single column
table.getColumnModel().getColumn(0).setCellRenderer(renderer);
// OR apply for all columns using the Date class
table.setDefaultRenderer(Date.class, renderer);

关于java - 在 JXTable 单元格中设置日期格式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11823334/

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