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" <nlis...@gmail.com> An: mariush...@web.de Cc: "openjfx-dev@openjdk.java.net Mailing" <openjfx-dev@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]mariush...@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]nlis...@gmail.com> An: "[4]openjfx-dev@openjdk.java.net Mailing" <[5]openjfx-dev@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:mariush...@web.de 2. https://github.com/openjdk/jdk/blob/master/src/java.desktop/share/cl 3. mailto:nlis...@gmail.com 4. mailto:openjfx-dev@openjdk.java.net 5. mailto:openjfx-dev@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