Я пытаюсь использовать DefaultTableCellRenderer для форматирования столбца в JTable. Например: если пользователь вводит:
20140914
Это будет формат:
2014-09-14
Мой код следующий:
//Setting data type for each class
//This is a method within the DefaultTableModel
public Class getColumnClass(int col)
{
if (col == 0)
return DateRenderer.class;
if (col == 1 || col == 2)
return String.class;
else
return Double.class;
}
//This is a separate class that I have problem with:
static class DateRenderer extends DefaultTableCellRenderer
{
//Using Decimal format to format dash
DecimalFormatSymbols fmtSymbols = new DecimalFormatSymbols();
fmtSymbols.setDecimalSeparator('-');
DecimalFormat fmt = new DecimalFormat("####.##.##");
public DateRenderer() {
super(); }
public void setValue(Object value)
{
setText (fmt.format(value));
}
}
Есть две проблемы с кодом. Во-первых, у меня проблема с линией:
fmtSymbols.setDecimalSeparator('-');
Во-вторых, это сделает весь мой столбец недоступным для редактирования (другой столбец все еще можно редактировать и сохранять).
yyyyMMdd
? Как вы справитесь с этим? - person Paul Samsotha   schedule 13.05.2014