Eclipse Rich Beans

Primary tabs

This project allows user interfaces to be created from beans or graphs of beans. The user interface available has standard widgets which have few dependencies to reuse. For instance there are widgets for editing numbers with bounds validation, units and that allow expressions of other boxes. There are widgets for entering a range of values and expanding out bean graphs to complete Design of Experiments work.

The API will be simple to use, have great widgets for science and be fast for huge field lists. So even though it is a minnow in the world of models, data binding and UI generation, it has some strong points.

 

Screenshots from three of the examples:

UI

BEAN GRAPH

public class ExampleBean {

 

       private List<ExampleItem> items;

//…

 

public class ExampleItem {

      

       public enum ItemChoice {

             XY, POLAR;

 

             public static Map<String, ItemChoice> names() {

                    final Map<String,ItemChoice> ret = new HashMap<String,ItemChoice>(2);

                    ret.put("X-Y Graph", XY);

                    ret.put("Polar",     POLAR);

                    return ret;

             }

       }

 

       private String     itemName;

       private ItemChoice choice = ItemChoice.XY;

       private Double x,y;

       private double r,theta;

//…

 

public class ExampleBean {

 

       private List<ExampleItem> items;

      

//…

 

public class ExampleItem {

      

       private String     itemName;

       private ItemChoice choice = ItemChoice.XY;

       private Double x,y;

       private double r,theta;

      

       private List<OptionItem> options;

 

//…

 

public class OptionItem {

 

    private String optionName;

       private boolean showAxes, showTitle, showLegend, showData;

       private static int count = 0;

 

//…

 

So more than 200,000 fields are linked and editable in a speedy fashion!

public class ExampleBean {

 

       private List<ExampleItem> items;

 

//… Example has 2000 items

 

 

public class ExampleItem {

      

       private String     itemName;

       private ItemChoice choice = ItemChoice.XY;

       private Double x,y;

       private double r,theta;

      

       private double d0, d1,d2,d3,d4,d5,d6,d7,d8, d9;

       private double d10, d11,d12,d13,d14,d15,d16,d17,d18, d19;

       private double d20, d21,d22,d23,d24,d25,d26,d27,d28, d29;

       private double d30, d31,d32,d33,d34,d35,d36,d37,d38, d39;

       private double d40, d41,d42,d43,d44,d45,d46,d47,d48, d49;

       private double d50, d51,d52,d53,d54,d55,d56,d57,d58, d59;

       private double d60, d61,d62,d63,d64,d65,d66,d67,d68, d69;

       private double d70, d71,d72,d73,d74,d75,d76,d77,d78, d79;

       private double d80, d81,d82,d83,d84,d85,d86,d87,d88, d89;

       private double d90, d91,d92,d93,d94,d95,d96,d97,d98, d99;

 

//… Example has 100 fields

 

 

 

Active Member Companies: 
Member companies supporting this project over the last three months.
Contribution Activity: 
Commits on this project (last 12 months).