Is there any way to display icons in a specific column of grid component?

Hello! I need some help with a particular request.

I’m getting an ArrayList and building a grid component with its data. A specific column has char values like this: “+”,“-”,“=”,“” (plus symbol, minus symbol, equal symbol, empty char). I’d like to insert a specific icon depending on each above value. It’s possible? How can I do that?

I am using Vaadin 14 and Here is one small example which may help you:

public class DemoPage extends VerticalLayout{


	List<String> list = new ArrayList<String>();
	private Grid<String> grid = new Grid<String>();

	public DemoPage()
	{
	
		
		list.add("+");
		list.add("-");
		list.add("=");
		list.add("");
		
		ListDataProvider<String> dataProvider = new ListDataProvider<>(
	            list);
	    grid.setDataProvider(dataProvider);
	
		grid.addColumn(new ComponentRenderer<>(item -> {
			
			Icon i;
			
			if(item.equals("+"))
			{
				i = new Icon(VaadinIcon.PLUS);
			}
			else if(item.equals("-"))
			{
				i = new Icon(VaadinIcon.MINUS);
			}
			else if(item.equals("="))
			{
				i = new Icon(VaadinIcon.CHECK);
			}
			else if(item.equals(""))
			{
				i = new Icon(VaadinIcon.FLAG_CHECKERED);
			}
			else
			{
				i = new Icon(VaadinIcon.ASTERISK);
				
			}
			return i;
		}))
		.setHeader("Icon")
		.setAutoWidth(true)
		.setResizable(true)
		.setSortable(true);
		
		
		add(grid);
		
	}
	
	
}