[External] : Re: Convenience factories for Border and Background
Kevin Rushforth
kevin.rushforth at oracle.com
Wed Sep 29 12:07:01 UTC 2021
Absent a strong motivation for adding this, I recommend to go with the
current proposal, which does not include this newly requested method. It
can always be added later if there is a compelling need.
-- Kevin
On 9/24/2021 4:50 AM, Nir Lisker wrote:
> I don't have a strong opinion on this addition.
>
> On Fri, Sep 24, 2021 at 2:47 PM Kevin Rushforth
> <kevin.rushforth at oracle.com <mailto:kevin.rushforth at oracle.com>> wrote:
>
> I don't have an objection to adding this one additional convenience
> method if it is generally useful. If there aren't a lot of
> applications
> that would use it, it seems better to go with just the two
> identified so
> far and consider this one later.
>
> So: would this be a generally useful addition?
>
> -- Kevin
>
>
> On 9/21/2021 2:43 AM, Marius Hanl wrote:
> > As also written in a comment
> > here: https://github.com/openjdk/jfx/pull/610
> <https://urldefense.com/v3/__https://github.com/openjdk/jfx/pull/610__;!!ACWV5N9M2RV99hQ!Z57Y3Q7VQc4ZpD__IA299Q56jo8wF4MJh1J9wWOm6uFYnJfouoapPE0p9pPWIry9Tyav$>
> > I would like to propose one more convenience method which
> should be
> > added to JavaFX:
> >
> > public static Border stroke(Paint stroke, double width) {
> > return new Border(new BorderStroke(stroke,
> BorderStrokeStyle.SOLID, null, ne
> > w BorderWidths(width)));
> > }
> >
> > I think it's quite common that you want to create a solid
> border with
> > another width then the default of 1 (for every side).
> >
> > Note: This is also the last use case I think makes sense to
> add as a
> > convenience method.
> > Any other use case is likely to be so complex that it makes
> sense to
> > use the normal existing constructors.
> >
> > Feel free to share you opinion.
> >
> > - Marius
> >
> > Gesendet: Dienstag, 08. Juni 2021 um 03:19 Uhr
> > Von: "Nir Lisker" <nlisker at gmail.com <mailto:nlisker at gmail.com>>
> > An: "Kevin Rushforth" <kevin.rushforth at oracle.com
> <mailto:kevin.rushforth at oracle.com>>
> > Cc: "openjfx-dev at openjdk.java.net
> <mailto:openjfx-dev at openjdk.java.net> Mailing"
> > <openjfx-dev at openjdk.java.net
> <mailto:openjfx-dev at openjdk.java.net>>
> > Betreff: Re: [External] : Re: Convenience factories for
> Border and
> > Background
> > The new API:
> > 1. `Border.of(Paint stroke)` or `Border.stroke(Paint
> stroke)` that does
> > `new Border(new BorderStroke(Paint stroke ,
> BorderStrokeStyle.SOLID,
> > null,
> > null));`
> > 2. `Background.of((Paint fill)` or `Background.fill(Paint
> fill)` that
> > does
> > `new Background(new BackgroundFill(Paint fill, null, null));`
> > I don't mind either name choice.
> > On Tue, Jun 8, 2021 at 2:50 AM Kevin Rushforth
> > <kevin.rushforth at oracle.com <mailto:kevin.rushforth at oracle.com>>
> > wrote:
> > > If I recall, there were a few developers that chimed in.
> It's a
> > simple
> > > enough addition -- at least your original proposal (not the
> > suggestion of
> > > mirroring the Color API, which I don't like) -- that it
> seems OK to
> > me.
> > >
> > > Can you repost your currently proposed API and see if
> those who might
> > like
> > > to use it are satisfied with it?
> > >
> > > -- Kevin
> > >
> > >
> > > On 6/7/2021 4:41 PM, Nir Lisker wrote:
> > >
> > > Does this constitute sufficient interest in the enhancement?
> > >
> > > On Thu, May 13, 2021 at 6:41 PM Michael Strau�
> > <michaelstrau2 at gmail.com <mailto:michaelstrau2 at gmail.com>>
> > > wrote:
> > >
> > >> Another option could be to mirror the `Color` API in both
> `Border`
> > and
> > >> `Background`, like in the following examples:
> > >>
> > >> Color.rgb(125, 100, 75)
> > >> Border.rgb(125, 100, 75)
> > >> Background.rgb(125, 100, 75)
> > >>
> > >> Color.gray(127)
> > >> Border.gray(127)
> > >> Background.gray(127)
> > >>
> > >> Color.web("orange", 0.5)
> > >> Border.web("orange", 0.5)
> > >> Background.web("orange", 0.5)
> > >>
> > >> We could also mirror the named color constants, which
> would enable a
> > >> very compact syntax:
> > >>
> > >> StackPane pane = new StackPane();
> > >> pane.setBorder(Border.RED);
> > >> pane.setBackground(Background.BLUE);
> > >>
> > >> This is very similar to how "red" or "blue" are valid
> values for
> > >> "-fx-border" or "-fx-background" in CSS.
> > >>
> > >
> > >
>
More information about the openjfx-dev
mailing list