我正嘗試使用DefaultTableCellRenderer格式化JTable中的列。例如:如果用戶輸入:使用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('-');
另一個原因是,它會讓我的整個柱變得不可編輯(其它列仍可以編輯和保存)。
數據是通過使用從實際表格中輸入的,還是來自文本字段或其他東西? –
http://i.stack.imgur.com/KRVMA.png這是我的GUI界面的圖像。我想要的是:如果用戶在日期欄下輸入日期,它會自動在數字之間加上' - '(破折號)。感謝您的幫助。 – user2789240
當用戶輸入格式爲「yyyyMMdd」的內容時會發生什麼?你將如何處理_that_? –