On Fri, 27 Mar 2026 15:06:48 GMT, Marius Hanl <[email protected]> wrote:

>> Hard to say - I haven't looked at the cells specifically.  The biggest 
>> concern, I think, is the risk of regression, followed by the shortage of 
>> bandwidth - do we want to spend time on small cleanup vs. huge issues (like 
>> this PR).
>> 
>> Having said that, I think it might be a good idea, especially if there is a 
>> ton of bugs filed for a particular component or behavior.  At the end, we 
>> have to rely on our judgement to determine when it's worth doing or not 
>> doing something.
>> 
>> What are the major pain points you want to work on?
>
> I went into a rabbit hole yesterday. The 6 `IndexedCell` subclasses are so 
> different. Every cell implemented `updateFocus`, `updateEditing`, 
> `updateSelection` a bit different. E.g. when to clear it, when to return. Of 
> course no tests.
> 
> It's crazy how that made it into JavaFX. The best way would be to unify the 
> behavior and write parameterized tests for all 6 cells and test the same 
> methods.
> 
> To be honest I don't know how to go from here. It would be nice to unify and 
> have a stable reliable cell implementation for all cells. 
> But as you said, it is a rather 'small' cleanup, although it will make our 
> life easier in the future.

Exactly my sentiment!

We have ~3,500 bugs filed (some of them are probably duplicates, but I think 
there is probably as many not yet filed, since I find half a dozen each week), 
so we know it's a large and complex system.

Architecturally, there are things I find absolutely [REDACTED], like 
`Event.target` field which requires to spawn multiple copies of each event, or 
a lack of an input map.  There are things that should have done 
differently/better, like focus subsystem or the text layout.  It's 
overwhelming, but javafx is also an incredible toolkit that gives us ability to 
develop cross-platform applications in a sane manner.  

One thing we _could_ do is, as you said, develop tests.  We (sometimes) have 
simple API tests, but we also need to document the behavior (at least the 
default behavior) and codify that in form of tests.  Do we expect all cells 
handle the focus in a consistent manner?  A parameterized test might be a very 
good idea!  So thank you for your effort and participation, many thanks indeed!

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

PR Review Comment: https://git.openjdk.org/jfx/pull/1935#discussion_r3001659901

Reply via email to