/*
* Beanfabrics Framework Copyright (C) by Michael Karneim, beanfabrics.org
* Use is subject to license terms. See license.txt.
*/
package org.beanfabrics.swing.table;
import java.awt.BorderLayout;
import java.awt.EventQueue;
import javax.swing.JFrame;
import javax.swing.JPanel;
import javax.swing.JScrollPane;
import org.beanfabrics.ModelProvider;
import org.beanfabrics.Path;
import org.beanfabrics.swing.BnButton;
import org.beanfabrics.test.AddressListPM;
@SuppressWarnings("serial")
public class BnTableCustomizerTestGUI extends JFrame {
private ModelProvider provider;
private AddressListPM addressListEditor;
public static void main(String args[]) {
EventQueue.invokeLater(new Runnable() {
public void run() {
try {
BnTableCustomizerTestGUI frame = new BnTableCustomizerTestGUI();
frame.setVisible(true);
} catch (Exception e) {
e.printStackTrace();
}
}
});
}
/**
* Create the frame
*/
public BnTableCustomizerTestGUI() {
super();
addressListEditor = new AddressListPM(); // @wb:location=80,404
provider = new ModelProvider(); // @wb:location=203,403
provider.setPresentationModel(addressListEditor);
provider.setPresentationModelType(org.beanfabrics.test.AddressListPM.class);
getContentPane().setLayout(new BorderLayout());
setBounds(100, 100, 500, 375);
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
final JPanel panel = new JPanel();
panel.setLayout(new BorderLayout());
getContentPane().add(panel, BorderLayout.CENTER);
final JScrollPane scrollPane = new JScrollPane();
panel.add(scrollPane);
final BnTable bnTable = new BnTable();
bnTable.setColumns(new org.beanfabrics.swing.table.BnColumn[] { new org.beanfabrics.swing.table.BnColumn(new org.beanfabrics.Path("this.appartment"), "Appartment", 100, false),
new org.beanfabrics.swing.table.BnColumn(new org.beanfabrics.Path("this.city"), "City", 100, false) });
bnTable.setPath(new Path("elements"));
bnTable.setModelProvider(provider);
scrollPane.setViewportView(bnTable);
final BnButton addRowBnButton = new BnButton();
addRowBnButton.setPath(new Path("addSome"));
addRowBnButton.setModelProvider(provider);
panel.add(addRowBnButton, BorderLayout.NORTH);
addRowBnButton.setText("Add row");
}
}