Great stuff Tim! Definitely work it in and contribute it. We need more of
that versus less, and who better! Certainly if it can be enabled and
disabled with a check box in settings it would be great; then can AB test
for which should be the default later. Maybe we should start some Apache
NetBeans feature surveys :-)

Thanks

Wade


On Wed, Apr 10, 2019, 15:56 Tim Boudreau <niftin...@gmail.com> wrote:

> Back in 2003/4, I wrote the tab control for the NetBeans 3.6 window system,
> which is still in use - the thing JTabbedPane should have been if it had
> been written with the needs of applications like NetBeans in mind (i.e.
> model driven, not using the AWT hierarchy as its model, capable of complex
> transforms on its contents with minimal redraws, etc.).
>
> Some time after that, NetBeans' Visual Library came into being, which makes
> easy a lot of things that are otherwise very hard in Swing - animation,
> glows around components that extend beyond the bounds of the component,
> smooth scrolling and more.  So I've had it in my head for years that
> someone ought to write a replacement UI delegate for the editor tabs which
> uses it.  Needing to take a break from another project, the other day I
> finally wrote that.  It should work on any Swing look and feel (and I
> tested it on a bunch) - it derives its colors from those of the look and
> feel.  And all of the gradient painting logic is carefully memory managed
> using cached BufferedImages (10-40x faster than caching GradientPaint in my
> tests and far more consistent in its performance).
>
> What it does differently are mainly animation and bling, and highlighting
> for the selected tab that sits outside the tab.  It does have really lovely
> built-in tab-dragging support, but since drag support in the window system
> is implemented via an AWTEventListener in core.windows...I can disable that
> with a not-too-evil hack (have the UI delegate implement Tabbed.Adapter and
> then return null for its Tabbed instance), but then model changes aren't
> known to the window system, so it "corrects" them, undoing the drag on the
> next move.  But the existing tab dragging support (with its ugly polygons)
> works fine, so that's disabled by default.
>
> So, two things:
> 1.  If you'd like a little more (gratuitous?) bling in your editor tabs,
> please test it (download link below)
> 2.  I'd be happy to contribute it to NetBeans if there's interest - it's
> already licensed compatibly
>
> Screen shot (running on my own Dark Look and Feel plugin):
> https://timboudreau.com/files/screen/04-10-2019_15-48-36.png
>
> Binary download compatible w/ JDK 8 and up, NetBeans 8.2 and up:
> https://timboudreau.com/files/visual-library-tabbedcontrol-0.3.1.nbm
>
> Github repo w/ source code:
> https://github.com/timboudreau/visual-library-tabcontrol
>
> Feedback appreciated.
>
> Thanks,
>
> Tim
>
> --
> http://timboudreau.com
>

Reply via email to