Convenience factories for Border and Background
Nir Lisker
nlisker at gmail.com
Thu May 13 14:25:33 UTC 2021
Doesn't seem like that are any more opinions. How do you want to proceed?
On Tue, Apr 27, 2021 at 2:45 AM Kevin Rushforth <kevin.rushforth at oracle.com>
wrote:
> I would lean towards the simpler solution that Nir has proposed. I would
> like to be informed by what application developers want.
>
> -- Kevin
>
>
> On 4/26/2021 2:03 PM, Marius Hanl wrote:
> > I'm fine with either way.
> > Both approaches are nice, while the factory/builder approach will
> > probably be a bit better as it will cover more use cases, but of
> course
> > takes a bit more time.
> > In any case we can create a Border/Background very easily and both
> are
> > quite short, the factory/builder approach will be shorter though.
> >
> > e.g.
> > setBorder(new Border(new BorderStroke(Color.BLACK,
> > BorderStrokeStyle.SOLID)));
> > setBorder(BorderFactory.createSolidBorder(Color.BLACK));
> >
> >
> > Gesendet: Sonntag, 25. April 2021 um 13:05 Uhr
> > Von: "Nir Lisker" <nlisker at gmail.com>
> > An: mariushanl at web.de
> > Cc: "openjfx-dev at openjdk.java.net Mailing"
> > <openjfx-dev at openjdk.java.net>
> > Betreff: Re: Convenience factories for Border and Background
> >
> > I think a minimal constructor would be a nice first step.
> >
> >
> > I want to avoid adding more constructors, so factory methods would be
> > my go-to.
> >
> > We may can go further from that and create something similar like
> > the BorderFactory
> >
> >
> > A factory class or a builder require a whole new class and solves the
> > problems of wanting to create many combinations of constructor
> > arguments. So we have to ask ourselves if using the full and complex
> > constructor for complex cases, and the simple proposed methods for
> the
> > simple cases is enough, or if there is enough middleground of
> > combinations that we need a more advanced solution.
> >
> >
> > On Sat, Apr 24, 2021 at 7:24 PM <[1]mariushanl at web.de> wrote:
> >
> > Hi Nir,
> > this is a really good idea and something I want to see since the
> > first
> > time I used to set a Background/Border.
> > I think a minimal constructor would be a nice first step.
> > So instead of:
> > - setBackground(new Background(new BackgroundFill(Color.BLACK,
> > CornerRadii.EMPTY, Insets.EMPTY)))
> > -> setBackground(new Background(new
> BackgroundFill(Color.BLACK)))
> > and:
> > - setBorder(new Border(new BorderStroke(Color.BLACK,
> > BorderStrokeStyle.SOLID, CornerRadii.EMPTY,
> > BorderStroke.DEFAULT_WIDTHS)))
> > -> setBorder(new Border(new BorderStroke(Color.BLACK,
> > BorderStrokeStyle.SOLID)))
> > We may can go further from that and create something similar
> like
> > the
> > BorderFactory class in swing, where you can create a lot of
> > different
> > borders easily. (Same to Background)
> > Reference:
> >
> > [1][2]
> https://github.com/openjdk/jdk/blob/master/src/java.desktop/sh
> > are/cl
> > asses/javax/swing/BorderFactory.java
> > - Marius
> > Gesendet: Donnerstag, 22. April 2021 um 15:45 Uhr
> > Von: "Nir Lisker" <[3]nlisker at gmail.com>
> > An: "[4]openjfx-dev at openjdk.java.net Mailing"
> > <[5]openjfx-dev at openjdk.java.net>
> > Betreff: Convenience factories for Border and Background
> > Hi,
> > Many times when I want to create a simple solid Background or
> > Border,
> > it is
> > quite a hassle because of the configurability these classes
> have:
> > new Border(new BorderStroke(Color. BLACK,
> > BorderStrokeStyle.SOLID,
> > null,
> > null));
> > new Background(new BackgroundFill(Color.BLACK, null, null));
> > I was thinking of adding convenience factory methods
> > Border.of(Paint stroke), or Border.stroke(Paint stroke)
> > Background.of((Paint fill), or Background.fill(Paint fill)
> > I was wondering if others would like this, or is everyone using
> > CSS
> > anyway?
> > - Nir
> > References
> > 1.
> > [6]
> https://deref-web.de/mail/client/sT3TQpQ3T6k/dereferrer/?redirect
> >
> Url=https%3A%2F%2Fgithub.com%2Fopenjdk%2Fjdk%2Fblob%2Fmaster%2Fsrc%2
> >
> Fjava.desktop%2Fshare%2Fclasses%2Fjavax%2Fswing%2FBorderFactory.java
> >
> > References
> >
> > 1. mailto:mariushanl at web.de
> > 2.
> https://github.com/openjdk/jdk/blob/master/src/java.desktop/share/cl
> > 3. mailto:nlisker at gmail.com
> > 4. mailto:openjfx-dev at openjdk.java.net
> > 5. mailto:openjfx-dev at openjdk.java.net
> > 6.
> https://deref-web.de/mail/client/sT3TQpQ3T6k/dereferrer/?redirectUrl=https%3A%2F%2Fgithub.com%2Fopenjdk%2Fjdk%2Fblob%2Fmaster%2Fsrc%2Fjava.desktop%2Fshare%2Fclasses%2Fjavax%2Fswing%2FBorderFactory.java
>
>
More information about the openjfx-dev
mailing list