Iurii3
(Iurii SQRT)
1
How can I add the ‘If’ in this code.
grid.addColumn(new ComponentRenderer<>(e → {
Icon recycle = new Icon(VaadinIcon.RECYCLE);
recycle.setColor(GREEN_COLOR);
recycle.addClickListener(event → callVoid(e));
return recycle;
})).setTextAlign(ColumnTextAlign.CENTER).setHeader(RE_CALCULATE);
I want
grid.addColumn(new ComponentRenderer<>(e → {
if(e.getName().equals("")) // new Icon(VaadinIcon.RECYCLE);
not: new Icon(VaadinIcon.OPEN_BOOK);
Icon recycle = new Icon(VaadinIcon.RECYCLE);
recycle.setColor(GREEN_COLOR);
recycle.addClickListener(event -> callVoid(e));
return recycle;
})).setTextAlign(ColumnTextAlign.CENTER).setHeader(RE_CALCULATE);
Kaspar4
(Kaspar Scherrer)
2
grid.addColumn(new ComponentRenderer<>(e -> {
Icon icon = e.getName().equals("") ? new Icon(VaadinIcon.RECYCLE) : new Icon(VaadinIcon.OPEN_BOOK);
icon.setColor(GREEN_COLOR);
icon.addClickListener(event -> callVoid(e));
return icon;
});
if you need different click listeners or even colors, it’s probably better to use if-else:
grid.addColumn(new ComponentRenderer<>(e -> {
Icon icon;
if(e.getName().equals("")) {
icon = new Icon(VaadinIcon.RECYCLE);
icon.addClickListener(event -> callRecycleAction(e));
icon.setColor(RED_COLOR);
} else {
icon = new Icon(VaadinIcon.OPEN_BOOK);
icon.addClickListener(event -> callOpenBookAction(e));
icon.setColor(GREEN_COLOR);
}
return icon;
});