/*
Code revised from Desktop Java Live:
http://www.sourcebeat.com/downloads/
*/
import java.awt.BorderLayout;
import java.awt.Color;
import java.awt.Dimension;
import javax.swing.BorderFactory;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JPanel;
import javax.swing.JTabbedPane;
import javax.swing.JTextField;
import com.jgoodies.forms.debug.FormDebugPanel;
import com.jgoodies.forms.layout.CellConstraints;
import com.jgoodies.forms.layout.FormLayout;
public class FormLayoutExample6 extends JPanel {
public FormLayoutExample6() {
super(new BorderLayout());
JTabbedPane tabbedPane = new JTabbedPane();
String labelWidth = "50dlu";
FormLayout formLayout = new FormLayout("max(" + labelWidth + ";pref), 2dlu, 100dlu", "default, default, default");
JPanel tabPanel1 = new FormDebugPanel();
tabPanel1.setLayout(formLayout);
CellConstraints c = new CellConstraints();
tabPanel1.add(createLabel("Small 1"), c.xy(1, 1));
tabPanel1.add(createLabel("Larger Label"), c.xy(1, 2));
tabPanel1.add(createLabel("Med. Label"), c.xy(1, 3));
tabPanel1.add(new JTextField(), c.xy(3, 1));
tabPanel1.add(new JTextField(), c.xy(3, 2));
tabPanel1.add(new JTextField(), c.xy(3, 3));
tabbedPane.add("Tab1", tabPanel1);
formLayout = new FormLayout("max(" + labelWidth + ";pref), 2dlu, 100dlu", "default, default, default");
JPanel tabPanel2 = new FormDebugPanel();
tabPanel2.setLayout(formLayout);
tabPanel2.add(createLabel("Small 2"), c.xy(1, 1));
tabPanel2.add(createLabel("Small 3"), c.xy(1, 2));
tabPanel2.add(createLabel("Small 4"), c.xy(1, 3));
tabPanel2.add(new JTextField(), c.xy(3, 1));
tabPanel2.add(new JTextField(), c.xy(3, 2));
tabPanel2.add(new JTextField(), c.xy(3, 3));
tabbedPane.add("Tab2", tabPanel2);
formLayout = new FormLayout("pref, 2dlu, 100dlu", "default, default, default");
JPanel tabPanel3 = new FormDebugPanel();
tabPanel3.setLayout(formLayout);
tabPanel3.add(createLabel("Small 5"), c.xy(1, 1));
tabPanel3.add(createLabel("Small 6"), c.xy(1, 2));
tabPanel3.add(createLabel("Small 7"), c.xy(1, 3));
tabPanel3.add(new JTextField(), c.xy(3, 1));
tabPanel3.add(new JTextField(), c.xy(3, 2));
tabPanel3.add(new JTextField(), c.xy(3, 3));
tabbedPane.add("Tab3", tabPanel3);
JPanel panel = new JPanel(new BorderLayout());
panel.add(tabbedPane, BorderLayout.CENTER);
add(panel);
}
public JLabel createLabel(String text, int prefWidth, int prefHeight) {
JLabel label = createLabel(text);
label.setPreferredSize(new Dimension(prefWidth, prefHeight));
return label;
}
public JLabel createLabel(String text) {
JLabel label = new JLabel(text);
label.setBackground(Color.lightGray);
label.setBorder(BorderFactory.createLineBorder(Color.black));
label.setOpaque(true);
label.setHorizontalTextPosition(JLabel.CENTER);
label.setVerticalTextPosition(JLabel.CENTER);
return label;
}
public static void main(String[] a){
JFrame f = new JFrame("FormLayout: Bounds Example 6");
f.setDefaultCloseOperation(2);
f.add(new FormLayoutExample7());
f.pack();
f.setVisible(true);
}
}
|