RFR: 6441373: Editing JTable is not Serializable
Sergey Bylokhov
serb at openjdk.org
Sat Dec 6 01:28:59 UTC 2025
On Wed, 3 Dec 2025 10:05:51 GMT, Prasanta Sadhukhan <psadhukhan at openjdk.org> wrote:
> Issue is when JTable is in editing mode, it is not Serializable as it gives exception
>
> java.io.NotSerializableException: java.lang.reflect.Constructor
> at java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1149) at java.io.ObjectOutputStream.defaultWriteFields(ObjectOutputStream.java:1502)
> at java.io.ObjectOutputStream.writeSerialData(ObjectOutputStream.java:1467)
> at java.io.ObjectOutputStream.writeOrdinaryObject(ObjectOutputStream.java:1385)
> at java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1143) at java.io.ObjectOutputStream.defaultWriteFields(ObjectOutputStream.java:1502)
> .......
>
>
> It is caused by creation of `GenericEditor` class which uses a non-serializable Constructor field.
> This is fixed by making the field transient..
> Also, `editorRemover` field is made transient as it is object of `CellEditorRemover` class which is not Serializable..
the goal of CellEditorRemover was to call the cancelCellEditing on focus lost, how all this will work after deserialisation? when this cancelCellEditing() will be called if editorRemover==null?
-------------
PR Comment: https://git.openjdk.org/jdk/pull/28627#issuecomment-3619123669
More information about the client-libs-dev
mailing list