为什么以下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;
}
};
最佳答案
您如何将渲染器添加到表中?您需要:
专门将渲染器添加到TableColumn
重写getColumnClass(...)方法以返回LocalDateTime.class,以便将呈现器用于包含LocalDateTime对象的任何列。
阅读有关Using Custom Renderers的Swing教程中的部分,以获取更多信息。