RFR: 6441373: Editing JTable is not Serializable

Prasanta Sadhukhan psadhukhan at openjdk.org
Wed Dec 3 10:13:52 UTC 2025


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..

-------------

Commit messages:
 - 6441373: Editing JTable is not Serializable

Changes: https://git.openjdk.org/jdk/pull/28627/files
  Webrev: https://webrevs.openjdk.org/?repo=jdk&pr=28627&range=00
  Issue: https://bugs.openjdk.org/browse/JDK-6441373
  Stats: 74 lines in 2 files changed: 71 ins; 0 del; 3 mod
  Patch: https://git.openjdk.org/jdk/pull/28627.diff
  Fetch: git fetch https://git.openjdk.org/jdk.git pull/28627/head:pull/28627

PR: https://git.openjdk.org/jdk/pull/28627


More information about the client-libs-dev mailing list