1 Like
There are two parts of the problem as I see it :-
Usability: inventing ui-interaction/elements is prone to confusing users. In no particular order
the column header title is meant to describe the content of the column, that content description is lost when in replacing it with an action description
it's not immediately (for me, the dumbest user on earth :-) clear that the header cell has the function of a toggle button. Accidentally clicking it will loose all earlier content state in that column
So even if interaction analysis comes out with a clear we-do-need/want-it,
action only in-addition to the content
use a widget that's clearer, f.i. a tri-state checkbox (all-de-/selected, mixed content). Also, de-/selecting must both be possible from mixed content. On second thought, a checkbox probably isn't the best choice either, didn't dig further
minimize the possibility to accidentally (just for me :-) change bulk state, f.i. by a clear visual separation of an active area (the checkbox icon) from the "normal header" region.
Technical aspects
TableHeader is not designed for "live" components, whatever is wanted has do be controlled by ourselves
examples are around, f.i. JIDE grid supports adding components
fiddling with header tends to look unattractive because it's not trivial to change the renderer and at the same time keep the LAF provided appearence