Java 单元渲染器不格式化时间戳
为什么下面的Java 单元渲染器不格式化时间戳,java,swing,jtable,jodatime,tablecellrenderer,Java,Swing,Jtable,Jodatime,Tablecellrenderer,为什么下面的CellRenderer不格式化时间戳?我收到的不是HH:mm而是某个字符串,例如07:00.000.00 DefaultTableCellRenderer cellRenderer = new DefaultTableCellRenderer() { public Component getTableCellRendererComponent( JTable table, Object value, boolean
CellRenderer
不格式化时间戳?我收到的不是HH:mm
而是某个字符串,例如07:00.000.00
DefaultTableCellRenderer cellRenderer = new DefaultTableCellRenderer()
{
public Component getTableCellRendererComponent( JTable table, Object value, boolean
isSelected, boolean hasFocus, int row, int column)
{
super.getTableCellRendererComponent( table, value, isSelected, hasFocus, row, column );
if ( value instanceof LocalDateTime )
{
DateTimeFormatter formatter = DateTimeFormat.forPattern("HH:mm");
String strTime = formatter.print((LocalDateTime)value);
this.setText(strTime);
}
return this;
}
};
如何将渲染器添加到表中?您需要:
有关更多信息,请阅读Swing教程中的部分。可能
值
不是LocalDateTime
。然后将单独调用super.getTableCellRenderComponent(…)
。您应该检查类型。@Meno Hochschild:yep,它是LocalTime的实例。谢谢。为了更快地获得更好的帮助,请发布一个(最简单、完整、可读的示例)。