User interface (UI) development and maintenance presents a burden for many developers. Existing UI development approaches often restate information already captured in the application model such as entity attributes, validation, security, etc. Changes in application model often require many subsequent changes to the UI. Such duplication creates additional maintenance requirements for synchronization (at a minimum) and often is a source for errors (i.e., when model and UI disagree). Adding to the difficulties, typical UI implementations often tangle multiple concerns together such as presentation, validation, layout, security, etc. In our talk, we present our approach to deal with UI employing aspect-oriented design, code-base inspection and UI generation. Our approaches considerably reduces development and maintenance efforts and separates different concerns. Furthermore, it supports the design of Adaptive User Interfaces that adjust the UI to user's capabilities, skills, origin, rights, browsing device, etc. We provide a demonstration of a library JFormBuilder that utilizes our approach and is ready to use with your Java EE application.