Three panels, one per pair of label and text field.
Vertical BoxLayout is used for the content pane.
That example was similar to the previous program. Here is a section of the program:
JLabel lData1 = new JLabel("Data Item 1");
JTextField txData1 = new JTextField( 7 );
JPanel panel1 = new JPanel();
JLabel lData2 = new JLabel("Data Item 2");
JTextField txData2 = new JTextField( 7 );
JPanel panel2 = new JPanel();
JLabel lData3 = new JLabel("Data Item 3");
JTextField txData3 = new JTextField( 7 );
JPanel panel3 = new JPanel();
public LayoutEg1()
{
setTitle( "LayoutEg1" );
panel1.add( lData1 ); panel1.add( txData1 );
panel2.add( lData2 ); panel2.add( txData2 );
panel3.add( lData3 ); panel3.add( txData3 );
getContentPane().setLayout(
new BoxLayout( getContentPane(), BoxLayout.Y_AXIS ) );
getContentPane().add( panel1 );
getContentPane().add( panel2 );
getContentPane().add( panel3 );
. . . . . .
}
Now look this layout. Suggest a grouping into panels. Hint: use nested panels for this.