Line up columns

Posted on 2004-04-02
Last Modified: 2010-03-31
I am trying to get this code to line up in 2 columns with the first 2 labels as headers, am i going the right way about it, trying to teach myself Java, having difficulty?  Here is the code.

import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
import javax.swing.text.*;
class AddMember1 extends JFrame{
      String dt[] = {"Antrim","Armagh","Carlow","Cavan","Clare","Cork","Derry","Donegal","Down","Dublin","Fermanagh","Galway","Kerry","Kildare","Kilkenny","Laois","Leitrim","Limerick","Longford","Louth","Mayo","Meath","Monaghan","Offaly","Roscommon","Sligo","Tipperary","Tyrone","Waterford","Westmeath","Wexford","Wicklow"};
      String fm[] = {"Male","Female"};            
      String ai[] = {"Active","Inactive"};      
      //set up row 1
      JPanel row1 = new JPanel();
      JLabel techno = new JLabel("TECHNOFIT GYM SYSTEM", SwingConstants.CENTER );

      //set up row 2
      JPanel row2 = new JPanel();
      JLabel add = new JLabel("Add Member", SwingConstants.CENTER );
      //set up row 3
      JPanel row3 = new JPanel();
      JLabel memberid = new JLabel("Member ID");
      JTextField memberidvalue = new JTextField(10);
      //set up row 4
      JPanel row4 = new JPanel();      
      JLabel forename = new JLabel("Forename");
      JTextField forenamevalue = new JTextField(10);
      //set up row 5
      JPanel row5 = new JPanel();
      JLabel surname = new JLabel("Surname");
      JTextField surnamevalue = new JTextField(10);
      //set up row 6
      JPanel row6 = new JPanel();      
      JLabel address1 = new JLabel("Address 1");
      JTextField address1value = new JTextField(10);
      //set up row 7
      JPanel row7 = new JPanel();
      JLabel address2 = new JLabel("Address 2");
      JTextField address2value = new JTextField(10);
      //set up row 8
      JPanel row8 = new JPanel();
      JLabel county = new JLabel("County");
      JComboBox combo;
      //set up row 9
      JPanel row9 = new JPanel();
      JLabel height = new JLabel("Height");
      JTextField heightvalue = new JTextField(10);
      //set up row 10
      JPanel row10 = new JPanel();      
      JLabel teleno = new JLabel("Telephone No");
      JTextField telenovalue = new JTextField(10);      
      //set up row 11
      JPanel row11 = new JPanel();      
      JLabel dob = new JLabel("DOB");
      JTextField dobvalue = new JTextField(10);
      //set up row 12
      JPanel row12 = new JPanel();            
      JLabel gender = new JLabel("Gender");
      JComboBox combo1;

      //set up row 13
      JPanel row13 = new JPanel();
      JLabel dateadded = new JLabel("Date Added");
      JTextField dateaddedvalue = new JTextField(10);
      //set up row 14
      JPanel row14 = new JPanel();
      JLabel expirydate = new JLabel("Expiry Date");
      JTextField expirydatevalue = new JTextField(10);      
      //set up row 15
      JPanel row15 = new JPanel();      
      JLabel status = new JLabel("Status");
      JComboBox combo2;
      //set up row 16
      JPanel row16 = new JPanel();
      private JButton b1;

public AddMember1()
            super("Add Member");
            setSize(500, 550);
            GridLayout layout = new GridLayout(8,2);
            b1 = new JButton("OK");
            Container c = getContentPane();
            c.setLayout(new FlowLayout());
            FlowLayout layout1 = new FlowLayout(FlowLayout.LEFT, 10, 10 );
            FlowLayout layout2 = new FlowLayout(FlowLayout.LEFT, 10, 10 );

            FlowLayout layout3 = new FlowLayout(FlowLayout.LEFT);

            FlowLayout layout4 = new FlowLayout(FlowLayout.LEFT);

            FlowLayout layout5 = new FlowLayout(FlowLayout.LEFT);

            FlowLayout layout6 = new FlowLayout(FlowLayout.LEFT);

            FlowLayout layout7 = new FlowLayout(FlowLayout.LEFT);

            FlowLayout layout8 = new FlowLayout(FlowLayout.LEFT);
            combo = new JComboBox(dt);

            FlowLayout layout9 = new FlowLayout(FlowLayout.LEFT);

            FlowLayout layout10 = new FlowLayout(FlowLayout.LEFT);

            FlowLayout layout11 = new FlowLayout(FlowLayout.LEFT);

            FlowLayout layout12 = new FlowLayout(FlowLayout.LEFT);
            combo1 = new JComboBox(fm);

            FlowLayout layout13 = new FlowLayout(FlowLayout.LEFT);

            FlowLayout layout14 = new FlowLayout(FlowLayout.LEFT);

            FlowLayout layout15 = new FlowLayout(FlowLayout.LEFT);
            combo2 = new JComboBox(ai);

            FlowLayout layout16 = new FlowLayout(FlowLayout.LEFT);
            //add button actionlistener
            b1.addActionListener(new ButtonListenerB1());

            addWindowListener(new WindowAdapter(){
                  public void windowClosing(WindowEvent e){


      class ButtonListenerB1 implements ActionListener
            public void actionPerformed(ActionEvent e)

      public static void main(String[] args)
            AddMember1 memb = new AddMember1();
Question by:powerger
  • 2
LVL 14

Expert Comment

ID: 10739301
First change your layout from default FlowLayout to some other more appropriate like BorederLayout. Also by doing this, you should consider using several JPane's each for next column or something like that
LVL 14

Accepted Solution

StillUnAware earned 63 total points
ID: 10739410
public AddMember1()
          super("Add Member");
          setSize(500, 550);
          GridLayout layout = new GridLayout(8,2);
          b1 = new JButton("OK");
          Container c = getContentPane();
          c.setLayout(new FlowLayout()); <<<<<<<<<<<<< you should change to :      c.setLayout(layout);
LVL 30

Assisted Solution

GrandSchtroumpf earned 62 total points
ID: 10739884
You should use a JPanel with GridLayout and add all your components to that JPanel.
Then you add the JPanel to your content pane using FlowLayout.
Finally, you change all the "FlowLayout.LEFT" to "FlowLayout.RIGHT".
Then set the preferred size of your combo box to the same preferred size as the text fields, so your components align nicely.

public AddMember1()
          super("Add Member");
          setSize(500, 550);
          GridLayout layout = new GridLayout(8,2);
          b1 = new JButton("OK");
          Container c = new JPanel(layout);
          getContentPane().setLayout(new FlowLayout());
          FlowLayout layout1 = new FlowLayout(FlowLayout.RIGHT, 10, 10 );
          FlowLayout layout2 = new FlowLayout(FlowLayout.RIGHT, 10, 10 );
          // This needs to be placed at the end of the method

Featured Post

Do You Know the 4 Main Threat Actor Types?

Do you know the main threat actor types? Most attackers fall into one of four categories, each with their own favored tactics, techniques, and procedures.

Join & Write a Comment

INTRODUCTION Working with files is a moderately common task in Java.  For most projects hard coding the file names, using parameters in configuration files, or using command-line arguments is sufficient.   However, when your application has vi…
Are you developing a Java application and want to create Excel Spreadsheets? You have come to the right place, this article will describe how you can create Excel Spreadsheets from a Java Application. For the purposes of this article, I will be u…
Viewers will learn about arithmetic and Boolean expressions in Java and the logical operators used to create Boolean expressions. We will cover the symbols used for arithmetic expressions and define each logical operator and how to use them in Boole…
Viewers will learn about if statements in Java and their use The if statement: The condition required to create an if statement: Variations of if statements: An example using if statements:

705 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question

Need Help in Real-Time?

Connect with top rated Experts

18 Experts available now in Live!

Get 1:1 Help Now