Проблема в следующем. Есть JTable которая содержит кроме всего прочего custom-объекты. Custom-объекты имплементируют Serializable. JTable помещена в JScrollPane. JTable сериализуется по кнопке и при следующем старте восстанавливается.

Но колонки JTable после восстановления не отображаются, хотя данные в модели на месте, число строк и столбцов соответствует их числу до сериализации. Исключения не выбрасываются. Что я еще забыл
Здравствуйте, espada_de, Вы писали:
_>Проблема в следующем. Есть JTable которая содержит кроме всего прочего custom-объекты. Custom-объекты имплементируют Serializable. JTable помещена в JScrollPane. JTable сериализуется по кнопке и при следующем старте восстанавливается.
Но колонки JTable после восстановления не отображаются, хотя данные в модели на месте, число строк и столбцов соответствует их числу до сериализации. Исключения не выбрасываются. Что я еще забыл
Что имеется ввиду под колонкой?
Кто-то сказал когда-то давно, что людям свойственно убивать тех, кого любишь. Что ж, верно и обратное.
Здравствуйте, Risotto, Вы писали:
R>Что имеется ввиду под колонкой?
TableColumn. Я было подумал, что TableColumnModel не сериализировалась, ан нет, сколько столбцов задал до сериализации, столько и восстановил. Только не отображается ни фига
Здравствуйте, espada_de, Вы писали:
_>Проблема в следующем. Есть JTable которая содержит кроме всего прочего custom-объекты. Custom-объекты имплементируют Serializable. JTable помещена в JScrollPane. JTable сериализуется по кнопке и при следующем старте восстанавливается.
Но колонки JTable после восстановления не отображаются, хотя данные в модели на месте, число строк и столбцов соответствует их числу до сериализации. Исключения не выбрасываются. Что я еще забыл
Custom-объекты — это те которые отображаются через собственный TableCellRenederer??
Не отображаются все данные или только часть?
TableModel восстанавливается?
Здравствуйте, b_manvelyan, Вы писали:
_>Custom-объекты — это те которые отображаются через собственный TableCellRenederer??
Да
_>Не отображаются все данные или только часть?
Все содержимое не отображается
_>TableModel восстанавливается?
Да
Я выделил все это счастье в отдельное тест-приложение и упростил классы. По кнопке добавляю в JTable новые строки. После восстановления приведенный ниже код выполняется и показывает статус custom-объекта в последней строке. Более того, можно добавить по кнопке новые строки, сериализовать JTable и после восстановления строки на месте, только не отображаются, сволочи
...
// is - ObjectInputStream
jTable1=(JTable)is.readObject();
Vector rows=(Vector)((MyDataModel)jTable1.getModel()).getDataVector();
Vector col =(Vector)rows.elementAt(rows.size()-1);
MyTestClass mtc=(MyTestClass)col.elementAt(col.size()-1);
JOptionPane.showMessageDialog(null,mtc.getValue(mtc.getState()));
...
Понял все. Это я сам прогнал — сначала вставил JTable в JScrollPane, а потом десериализовал.

Наоборот — работает, правда с заморочкой с CellEditor, но и это победим