Dialog With Event handling
Create a Class with the name of Demo Dialog and extend it with RunBase class then write the following code.

Override the dialog method and fields in dialog in my case I added two fields customer account and customer name.

Override the getFromDialog method and set the value in the declared variable

Override the run method write the following code.

If you want to validate then override the validate method.

The dialogPostRun() method should override like below. This will allow calling to the event methods.

Now open dialog and personalize the customer account field and check the name of the field.

Then Create the modified event with a field name.

Now run the class and enjoy the modified events in the dialog 