Book Image

Vaadin 7 UI Design By Example: Beginner's Guide

Book Image

Vaadin 7 UI Design By Example: Beginner's Guide

Overview of this book

Vaadin is a mature, open-source, and powerful Java framework used to build modern web applications in plain Java. Vaadin brings back the fun of programming UI interfaces to the web universe. No HTML, no CSS, no JavaScript, no XML. Vaadin lets you implement web user interfaces using an object oriented model, similar to desktop technologies such as Swing and AWT. Vaadin 7 UI Design By Example: Beginner's Guide is an engaging guide that will teach you how to develop web applications in minutes. With this book, you will Develop useful applications and learn basics of Java web development. By the end of the book you will be able to build Java web applications that look fantastic. The book begins with simple examples using the most common Vaadin UI components and quickly move towards more complex applications as components are introduced chapter-by-chapter. Vaadin 7 UI Design By Example: Beginner's Guide shows you how to use Eclipse, Netbeans, and Maven to create Vaadin projects. It then demonstrates how to use labels, text fields, buttons, and other input components. Once you get a grasp of the basic usage of Vaadin, the book explains Vaadin theory to prepare you for the rest of the trip that will enhance your knowledge of Vaadin UI components and customization techniques.
Table of Contents (17 chapters)
Vaadin 7 UI Design By Example Beginner's Guide
Credits
About the Author
Acknowledgement
About the Reviewers
www.PacktPub.com
Preface
Index

Understanding generated columns


Sometimes you need to calculate the content of one column based on the content of other columns. Generated columns are just great for accomplishing that. Suppose you have a table with two Integer columns:

    Table table = new Table();
    table.addContainerProperty("A", Integer.class, 0);
    table.addContainerProperty("B", Integer.class, 0);

You want a third column with the sum of the previous columns. Here is the code to do that:

    table.addGeneratedColumn("A + B", new ColumnGenerator() {
      @Override
      public Object generateCell(Table source, Object itemId,
          Object columnId) {
        Integer a = (Integer) source.getItem(itemId)
            .getItemProperty("A").getValue();
        
        Integer b = (Integer) source.getItem(itemId)
            .getItemProperty("B").getValue();
        return a + b;
      }
    });

A column generator must implement the generateCell method that returns the value or the UI component to render on the cell...