Still celebrating National IT Professionals Day with 3 months of free Premium Membership. Use Code ITDAY17

x
?
Solved

Line up columns

Posted on 2004-04-02
6
Medium Priority
?
238 Views
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 );
            row1.setLayout(layout1);
            row1.add(techno);
            c.add(row1);
      
            FlowLayout layout2 = new FlowLayout(FlowLayout.LEFT, 10, 10 );
            row2.setLayout(layout2);
            row2.add(add);
            c.add(row2);


            FlowLayout layout3 = new FlowLayout(FlowLayout.LEFT);
            row3.setLayout(layout3);
            row3.add(memberid);
            row3.add(memberidvalue);
            c.add(row3);


            FlowLayout layout4 = new FlowLayout(FlowLayout.LEFT);
            row4.setLayout(layout4);
            row4.add(forename);
            row4.add(forenamevalue);
            c.add(row4);

            FlowLayout layout5 = new FlowLayout(FlowLayout.LEFT);
            row5.setLayout(layout5);
            row5.add(surname);
            row5.add(surnamevalue);
            c.add(row5);

            FlowLayout layout6 = new FlowLayout(FlowLayout.LEFT);
            row6.setLayout(layout6);
            row6.add(address1);
            row6.add(address1value);
            c.add(row6);

            FlowLayout layout7 = new FlowLayout(FlowLayout.LEFT);
            row7.setLayout(layout7);
            row7.add(address2);
            row7.add(address2value);
            c.add(row7);


            FlowLayout layout8 = new FlowLayout(FlowLayout.LEFT);
            row8.setLayout(layout8);
            combo = new JComboBox(dt);
            combo.setMaximumRowCount(5);
            row8.add(county);
            row8.add(combo);
            c.add(row8);

            FlowLayout layout9 = new FlowLayout(FlowLayout.LEFT);
            row9.setLayout(layout9);
            row9.add(height);
            row9.add(heightvalue);
            c.add(row9);

            FlowLayout layout10 = new FlowLayout(FlowLayout.LEFT);
            row10.setLayout(layout10);
            row10.add(teleno);
            row10.add(telenovalue);
            c.add(row10);

            FlowLayout layout11 = new FlowLayout(FlowLayout.LEFT);
            row11.setLayout(layout11);
            row11.add(dob);
            row11.add(dobvalue);
            c.add(row11);

            FlowLayout layout12 = new FlowLayout(FlowLayout.LEFT);
            row12.setLayout(layout12);
            combo1 = new JComboBox(fm);
            combo.setMaximumRowCount(1);
            row12.add(gender);
            row12.add(combo1);
            c.add(row12);

            FlowLayout layout13 = new FlowLayout(FlowLayout.LEFT);
            row13.setLayout(layout13);
            row13.add(dateadded);
            row13.add(dateaddedvalue);
            c.add(row13);

            FlowLayout layout14 = new FlowLayout(FlowLayout.LEFT);
            row14.setLayout(layout14);
            row14.add(expirydate);
            row14.add(expirydatevalue);
            c.add(row14);

            
            FlowLayout layout15 = new FlowLayout(FlowLayout.LEFT);
            row15.setLayout(layout15);
            combo2 = new JComboBox(ai);
            combo.setMaximumRowCount(1);
            row15.add(status);
            row15.add(combo2);
            c.add(row15);

            
            FlowLayout layout16 = new FlowLayout(FlowLayout.LEFT);
            row16.setLayout(layout16);
            row16.add(b1);
            c.add(row16);
            
            memberidvalue.requestFocus();
            //add button actionlistener
            
            b1.addActionListener(new ButtonListenerB1());

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

                  }
            });
      }


      class ButtonListenerB1 implements ActionListener
      {
            public void actionPerformed(ActionEvent e)
            {
                  System.out.println(memberidvalue.getText());
                  System.out.println(forenamevalue.getText());
                  System.out.println(surnamevalue.getText());
                  System.out.println(address1value.getText());
                  System.out.println(address2value.getText());
                  System.out.println(heightvalue.getText());
                  System.out.println(telenovalue.getText());
                  System.out.println(dobvalue.getText());      
                  System.out.println(dateaddedvalue.getText());
                  System.out.println(expirydatevalue.getText());
                  System.out.println(combo.getSelectedItem());
                  System.out.println(combo1.getSelectedItem());
                  System.out.println(combo2.getSelectedItem());
            }
      
}

      public static void main(String[] args)
      {
            AddMember1 memb = new AddMember1();
            memb.setLocation(100,100);
            memb.setVisible(true);
      }
}
0
Comment
Question by:powerger
[X]
Welcome to Experts Exchange

Add your voice to the tech community where 5M+ people just like you are talking about what matters.

  • Help others & share knowledge
  • Earn cash & points
  • Learn & ask questions
  • 2
6 Comments
 
LVL 14

Expert Comment

by:StillUnAware
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
0
 
LVL 14

Accepted Solution

by:
StillUnAware earned 252 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);
0
 
LVL 30

Assisted Solution

by:GrandSchtroumpf
GrandSchtroumpf earned 248 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());
          getContentPane().add(c);
         
          FlowLayout layout1 = new FlowLayout(FlowLayout.RIGHT, 10, 10 );
          row1.setLayout(layout1);
          row1.add(techno);
          c.add(row1);
     
          FlowLayout layout2 = new FlowLayout(FlowLayout.RIGHT, 10, 10 );
          row2.setLayout(layout2);
          row2.add(add);
          c.add(row2);
...
...
...
          // This needs to be placed at the end of the method
          combo.setPreferredSize(dobvalue.getPreferredSize());
          combo1.setPreferredSize(dobvalue.getPreferredSize());
          combo2.setPreferredSize(dobvalue.getPreferredSize());
     }
0

Featured Post

Concerto Cloud for Software Providers & ISVs

Can Concerto Cloud Services help you focus on evolving your application offerings, while delivering the best cloud experience to your customers? From DevOps to revenue models and customer support, the answer is yes!

Learn how Concerto can help you.

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

Java functions are among the best things for programmers to work with as Java sites can be very easy to read and prepare. Java especially simplifies many processes in the coding industry as it helps integrate many forms of technology and different d…
In this post we will learn different types of Android Layout and some basics of an Android App.
Viewers learn about the scanner class in this video and are introduced to receiving user input for their programs. Additionally, objects, conditional statements, and loops are used to help reinforce the concepts. Introduce Scanner class: Importing…
Viewers will learn how to properly install Eclipse with the necessary JDK, and will take a look at an introductory Java program. Download Eclipse installation zip file: Extract files from zip file: Download and install JDK 8: Open Eclipse and …
Suggested Courses

670 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