Не редактируется JTable, проблемы с Date

Хеллоу всем.

JTable отображается список (реализация модели таблицы похожа на эту: http://www.javatalks.ru/ftopic6588/Swing--amp--DB.-Database-Table-Model ), который необходимо там же и редактировать.
НО, редактируются все колонки (String типа), кроме колонки с датой ( типа util.Date). Т.е. при нажатии на нее вообще ничего не происходит.
Подскажите пожалуст. чего тут не так)

И сразу 2ой вопрос. Получаю новую дату вот так:
Код:
Код Java(TM) 2 Platform Standard Edition 5.0
/** * GeSHi (C) 2004 - 2007 Nigel McNie, 2007 - 2008 Benny Baumann * (http://qbnz.com/highlighter/ and http://geshi.org/) */ .java.geshi_code {font-family:monospace;} .java.geshi_code .imp {font-weight: bold; color: red;} .java.geshi_code .kw1 {color: #000000; font-weight: bold;} .java.geshi_code .kw2 {color: #000066; font-weight: bold;} .java.geshi_code .kw3 {color: #003399;} .java.geshi_code .kw4 {color: #000066; font-weight: bold;} .java.geshi_code .co1 {color: #666666; font-style: italic;} .java.geshi_code .co2 {color: #006699;} .java.geshi_code .co3 {color: #008000; font-style: italic; font-weight: bold;} .java.geshi_code .coMULTI {color: #666666; font-style: italic;} .java.geshi_code .es0 {color: #000099; font-weight: bold;} .java.geshi_code .br0 {color: #009900;} .java.geshi_code .sy0 {color: #339933;} .java.geshi_code .st0 {color: #0000ff;} .java.geshi_code .nu0 {color: #cc66cc;} .java.geshi_code .me1 {color: #006633;} .java.geshi_code .me2 {color: #006633;} .java.geshi_code span.xtra { display:block; }

java.sql.Date date = new java.sql.Date((int)yearComboBox.getSelectedItem(),
                (int)mmComboBox.getSelectedItem(),
                (int)ddComboBox.getSelectedItem());
 

И если ввести, например: Год: 1977 Месяц: 12 День: 31, то date будет содержать:
3878-01-31. Собственно где ошибка? дату нужно приводит к формату пригодному для записи в hsqldb.

1 ответов


По поводу первого вопроса - вам сюда. Строчки в таблице можно редактировать, потому что для этого типа данных есть дефолтный editor, для даты его нет. Чтобы не изобретать велосипед и не писать свой editor, можно посмотреть в готовые решения, например, вот.

По поводу второго вопроса. Если бы вы заглянули в документацию, то прочитали бы вот что:

Parameters:
year - the year minus 1900; must be 0 to 8099. (Note that 8099 is 9999 minus 1900.)


И вообще, этот конструктор не просто так deprecated. Чтобы получать ожидаемый результат, используйте Calendar.