package org.beanfabrics.model;
import java.util.Locale;
import javax.swing.JFrame;
import javax.swing.JScrollPane;
import org.beanfabrics.Binder;
import org.beanfabrics.Path;
import org.beanfabrics.swing.table.BnColumn;
import org.beanfabrics.swing.table.BnTable;
/**
* @author Michael Karneim
*/
public class SortingHelperTestGUI {
public static void main(String[] args) {
Locale.setDefault( Locale.GERMANY);
ListPM<ProductPM> list = new ListPM<ProductPM>();
list.add(new ProductPM("Apple", 5, 2.20));
list.add(new ProductPM("Banana", 5, 1.20));
list.add(new ProductPM("Orange", 5, 1.20));
list.add(new ProductPM("Kiwi", 5, 1.20));
list.add(new ProductPM("Pineapple", 5, 2.20));
list.add(new ProductPM("Äpfel", 5, 2.20));
list.add(new ProductPM("Aepfel", 7, 2.10));
list.add(new ProductPM("apfel", 7, 2.10));
list.add(new ProductPM("aepfel", 5, 2.10));
list.add(new ProductPM("Äpfel", 7, 2.10));
list.add(new ProductPM("Äquator", 7, 2.10));
list.add(new ProductPM("Äonen", 7, 2.10));
list.add(new ProductPM("Fraßburg", 7, 2.10));
list.add(new ProductPM("Fraßberg", 6, 2.10));
list.add(new ProductPM("Frasberg", 6, 2.10));
list.add(new ProductPM("Frassburg", 8, 1.10));
list.add(new ProductPM("Frassberg", 10, 1.10));
list.add(new ProductPM("Frasburg", 9, 0.10));
BnTable tbl = new BnTable();
tbl.setPath(new Path("this"));
tbl.setColumns(new BnColumn[] { new BnColumn(new Path("name"), "Name"), new BnColumn(new Path("number"), "Number"), new BnColumn(new Path("price"), "Price") });
Binder.bind(tbl, list);
JFrame f = new JFrame("Sorting Sample");
f.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
JScrollPane scr = new JScrollPane(tbl);
f.getContentPane().add(scr);
f.setSize(400, 400);
f.setLocationRelativeTo(null);
f.setVisible(true);
}
private static class ProductPM extends AbstractPM {
private TextPM name = new TextPM();
private IntegerPM number = new IntegerPM();
private DecimalPM price = new DecimalPM();
public ProductPM() {
PMManager.setup(this);
}
public ProductPM(String name, int number, double price) {
this();
this.name.setText(name);
this.number.setInteger(number);
this.price.setDouble(price);
}
}
}