当前位置: 技术问答>java相关
about Date format in JTable
来源: 互联网 发布时间:2015-10-26
本文导语: 我要把Date型的变量加到JTable中,但是我不知道怎么控制JTable的日期显示格式。 | class DateRenderer extends DefaultTableCellRenderer { public DateRenderer() { super(); setHorizontalAlignment(javax.swin...
我要把Date型的变量加到JTable中,但是我不知道怎么控制JTable的日期显示格式。
|
class DateRenderer extends DefaultTableCellRenderer {
public DateRenderer() {
super();
setHorizontalAlignment(javax.swing.SwingConstants.RIGHT);
}
public void setValue(Object value) {
if ((value != null) && (value instanceof java.util.Date)) {
java.util.Date dateValue = (java.util.Date) value;
SimpleDateFormat formatter = new SimpleDateFormat("yyyy-mm-dd");//这里可以改为你需要的格式
value = formatter.format(dateValue);
}
super.setValue(value);
}
}
table.setDefaultRenderer(java.util.Date.class,new DateRenderer());
并重载TableModel中的getColumnClass
public DateRenderer() {
super();
setHorizontalAlignment(javax.swing.SwingConstants.RIGHT);
}
public void setValue(Object value) {
if ((value != null) && (value instanceof java.util.Date)) {
java.util.Date dateValue = (java.util.Date) value;
SimpleDateFormat formatter = new SimpleDateFormat("yyyy-mm-dd");//这里可以改为你需要的格式
value = formatter.format(dateValue);
}
super.setValue(value);
}
}
table.setDefaultRenderer(java.util.Date.class,new DateRenderer());
并重载TableModel中的getColumnClass
|
显示只是DefaultTableCellRenderer,
要显示格式,直接继承DefaultTableCellRenderer,
重载方法 public Component getTableCellRendererComponent(JTable table, Object value,
boolean isSelected, boolean hasFocus, int row, int column)即可。
如果要求在JTable中编辑数据,并且要求格式相符就要继承:
DefaultCellEditor,重载方法:public Component getTableCellEditorComponent(JTable table, Object value,
boolean isSelected,
int row, int column)
要显示格式,直接继承DefaultTableCellRenderer,
重载方法 public Component getTableCellRendererComponent(JTable table, Object value,
boolean isSelected, boolean hasFocus, int row, int column)即可。
如果要求在JTable中编辑数据,并且要求格式相符就要继承:
DefaultCellEditor,重载方法:public Component getTableCellEditorComponent(JTable table, Object value,
boolean isSelected,
int row, int column)