It feels more clear to me to see:Border.stroke(Paint stroke) and Background.fill(Paint fill)
I vote in favor of those instead of Border.or and Background.of. On Sun, Aug 22, 2021 at 7:46 PM Nir Lisker <nlis...@gmail.com> wrote: > Getting this moving again as well. > > > > 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) > > > This is possible, but I don't think it saves much. This API in Color makes > it easy to create a color, so just using that directly in the > border/background seems convenient enough to me. Comparing > Border.rgb(125, 100, 75); > with > Border.of(Color.rgb(125, 100, 75)); // whatever the method name ends up > being > tells me that funneling all the color creation ways into one method in > border/background is efficient enough to not merit multiple methods. > > 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. > > > I rather not duplicate hundreds of constants just to be able to do > pane.setBorder(Border.RED); > instead of > pane.setBorder(Border.of(Color.RED)); > > On Tue, Jun 8, 2021 at 2:41 AM Nir Lisker <nlis...@gmail.com> wrote: > > > Does this constitute sufficient interest in the enhancement? > > > > On Thu, May 13, 2021 at 6:41 PM Michael Strauß <michaelstr...@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. > >> > > > -- Duncan.