package nl.marcoslot.apps.alm;
import java.awt.Container;
import java.awt.EventQueue;
import java.awt.Toolkit;
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JTextField;
import javax.swing.WindowConstants;
import nl.marcoslot.lib.gui.layout.alm.ArithmeticLayoutManager;
/**
*
* @author Marco Slot
*/
public class ALMTest2 extends JFrame {
/** Creates new form ALMTest */
public ALMTest2() {
init();
}
public void init() {
Container panel = getContentPane();
panel.setLayout(new ArithmeticLayoutManager());
JLabel title = new JLabel("
ArithmeticLayoutManager
");
panel.add(title,
"x = 0.5 * parent.width - 0.5 * this.width;"+
"y = 20; ");
JLabel nameLabel = new JLabel("Name");
panel.add(nameLabel,
"name = label; " +
"left = 15; " +
"top = 90; " +
"width = 0.2 * parent.width; ");
JTextField nameField = new JTextField("");
panel.add(nameField,
"name = nameField; " +
"left = label.rRight + 20; " +
"top = label.top; " +
"right = 20; ");
String[] fields = new String[] {"Address",
"Postal code",
"Country",
"Phone"};
for(int i = 0; i < fields.length; i++) {
JLabel label = new JLabel(fields[i]);
JTextField field = new JTextField();
panel.add(label,
"top = label.top + 40; " +
"left = label.left; " +
"right= label.right; " +
"name = label; "); /* note: override label*/
panel.add(field,
"top = label.top; " +
"left = nameField.left; " +
"right= nameField.right;");
}
JButton submitButton = new JButton("Submit");
panel.add(submitButton,
"top = label.top + 40; " +
"right = 20; ");
setSize(400, 400);
setTitle("ALM Sample 2");
setDefaultCloseOperation(WindowConstants.EXIT_ON_CLOSE);
}
/**
* @param args the command line arguments
*/
public static void main(String args[]) {
EventQueue.invokeLater(new Runnable() {
public void run() {
new ALMTest2().setVisible(true);
}
});
}
}