label = "%key" tableViewBuilder.enableI18n(true).build();
It's just an idea. It also can be done setting a i18n transformer class on the builder. Em dom., 22 de jan. de 2023 13:24, Michael Strauß <michaelstr...@gmail.com> escreveu: > 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.sa...@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. > > >