TableViewBuilder idea

Michael Strauß michaelstrau2 at gmail.com
Sun Jan 22 16:24:24 UTC 2023


This looks interesting, but I'd rather have this as a library.
One question: how does this approach work with language localization,
given that "label" is a constant?

On Sun, Jan 22, 2023 at 1:08 AM Thiago Milczarek Sayão
<thiago.sayao at gmail.com> wrote:
>
> Hi,
>
> TableView data usually comes from a database and is mapped to java objects (I don't have actual statistics on this but it's probably a true assertion).
> It Would be very useful if we could just copy database mapped objects to javafx observables and say: Display it on a tableview.
> Configuration of each column would be done as an annotation, like this:
>
> public class EmployeeObservable {
>     @Column(label = "Registration", style = "-fx-alignment: right")
>     private IntegerProperty registration = new SimpleIntegerProperty();
>
>     @Column(label = "Name")
>     private StringProperty name = new SimpleStringProperty();
>
>     @Column(label = "Salary", converter = BigDecimalCurrencyConverter.class)
>     private ObjectProperty<BigDecimal> salary = new SimpleObjectProperty<>();
>
>     //boilerplate here
> }
>
>
> Other annotation options:
>
> @Column(ignore = true)
>
> @Column(graphicsConverter = CheckBoxGraphicsConverter.class)
>
> And to apply it:
>
> TableViewBuilder<EmployeeObservable> builder = new TableViewBuilder<>(tableView, EmployeeObservable.class);
> builder.build();
>
>
> I actually have implemented this and it's very useful. I can't share it because I've done it for a private company, but it's easy to re-do it.
>
> I'm not sure if it would go in a general purpose toolkit, but I thought it would be nice to share (the idea).
>
> -- Thiago.
>


More information about the openjfx-dev mailing list