It's a double edged sword. On the one hand, you know what APIs they've committed to and won't change. On the other hand, often you want to extend more then they would "allow". And because you're wrapping their APIs, when those APIs change, you should only have to change your code in the one place where you overloaded them. There's a lot of bad things said about JFC/Swing, I won't repeat them here, but it did allow you to extend almost everything. And as a side note, GridBagLayout is powerful and elegant, despite what some people say: [this video]
well we're talking about the tooling, but point taken, swing wasn't perfect (totally grid bag 2007 short [this video] ) but it's not like it was that worse than flex bugs ( [link] still does render differently in chrome than firefox - which one is wrong is immaterial)
Video list and Hacker News comment labels from HackerTube (prompted by @karpathy), released under ODC-By 1.0, built on the open-index/hacker-news archive. Hacker News data is provided by Y Combinator; comments remain the work of their authors. Video titles, channel names and thumbnails belong to their creators and are shown via YouTube. HackerTube Watch is an unofficial edition. Data export of 2026-10-31.
3 Hacker News comments
From the HN archive; up to 20 kept per video, favoring different commenters. Recommendations first.