There are no instance fields found for automatic binding

I am new to vaadin so I can’t understand how to fix this issue. I got this error (There are no instance fields found for automatic binding) in line: binder.bindInstanceFields(this)


public class InfoView extends Div implements AfterNavigationObserver {

	    private RecordService recordService;
	    private Grid<Record> grid;

	    //private TextField id = new TextField();
	    private TextField txtFirstname = new TextField();
	    private TextField txtLastname = new TextField();
	    //private TextField email = new TextField();
	    //private PasswordField password = new PasswordField();

	    private Button cancel = new Button("άκυρο");
	    private Button save = new Button("αποθήκευση");
	    private Button delete = new Button("διαγραφή");

	    private Binder<Record> binder;

	    public InfoView() {
	        // Configure Grid
	        grid = new Grid<>();

	        //when a row is selected or deselected, populate form
	        grid.asSingleSelect().addValueChangeListener(event -> populateForm(event.getValue()));

	        // Configure Form
	        binder = new Binder<>(Record.class);

	        // Bind fields. This where you'd define e.g. validation rules
	        // note that password field isn't bound since that property doesn't exist in
	        // Employee

	        binder.setBean(new Record());

Record class:

package com.tool.jdbc;

public class Record {

	Field[] listFields;

    private Long id;
    private String firstName, lastName;
    public Record(Long id, String firstName, String lastName) { = id;
        this.firstName = firstName;
        this.lastName = lastName;

    public Long getId() {
        return id;
    public String getFirstName() {
        return firstName;
    public String getLastName() {
        return lastName;
    public void setId(Long id) { = id;
    public void setFirstName(String firstName) {
    public void setLastName(String lastName) {
	  public Record()

Thank you in advance

It tries to match the properties of your Record, e.g. firstName with the name of a field in your InfoView e.g. txtFirstname. As there are no matches, it does not know what to do. Rename txtFirstname to firstName and it will work

Thank you
It works.