Improve company productivity with a Business Account.Sign Up

x
  • Status: Solved
  • Priority: Medium
  • Security: Public
  • Views: 378
  • Last Modified:

Java Swing is going everywhere but where its supposed to

I can seem to get my GUI to look the way I want it to, here is a pic of the GUI Im getting
http://www.81x.com/Authors/roadragedave/badgui.jpg

and here is a pic of what I want it to look like
http://www.81x.com/Authors/roadragedave/wanted%20gui.jpg

Here is the code::

***************************************************************
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.awt.event.WindowAdapter;
import java.awt.event.WindowEvent;
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.*;
import java.awt.Rectangle;
import java.awt.Color;
import java.awt.Dimension;
import java.awt.event.*;
import java.beans.*;
import java.awt.BorderLayout;
import java.awt.GridLayout;

//import com.college.attempt.cpp;

//import com.emc.college.ProgramActionListener;

public class ProgramStartup extends JFrame
{
    private Window_actionAdapter my_actionListener = null;

    JPanel jPanel1             = new JPanel();
      JPanel buttonPanel       = new JPanel();
      JPanel checkPanel       = new JPanel();
      JPanel textPanel       = new JPanel();

    JLabel jLabel1 = new JLabel();
    JLabel jLabel2 = new JLabel();
    JLabel jLabel3 = new JLabel();

    JTextField jTextField1             = new JTextField();
    JTextField jTextField2             = new JTextField();
    JTextField jPasswordField1       = new JPasswordField();

    JLabel jTextPane1 = new JLabel();
    JCheckBox jCheckBox1 = new JCheckBox();
      JCheckBox jCheckBox2 = new JCheckBox();
      JCheckBox jCheckBox3 = new JCheckBox();
      JButton jButton1        = new JButton();
      JButton jButton2        = new JButton();

      public ProgramStartup ()
    {
        my_actionListener = new Window_actionAdapter();
        createGui();
    }

    private void createGui()
    {

        jPanel1.setBounds(new Rectangle());
        this.getContentPane().setLayout(new BorderLayout());
        this.setTitle("Guineyd WMI Application");
        this.setBounds(100, 100, 600, 400);
        this.setResizable(false);

        jLabel1.setText("Machine Name");
        jLabel1.setBounds(new Rectangle(144, 137, 89, 25));

        jLabel2.setText("Username");
        jLabel2.setBounds(new Rectangle(144, 196, 63, 23));
 
        jLabel3.setText("Password");
        jLabel3.setBounds(new Rectangle(425, 196, 66, 23));

        jTextField1.setPreferredSize(new Dimension(80, 21));
        jTextField1.setBounds(new Rectangle(144, 161, 382, 23));

        jTextField2.setPreferredSize(new Dimension(80, 21));
        jTextField2.setBounds(new Rectangle(144, 218, 112, 21));

        jPasswordField1.setPreferredSize(new Dimension(70, 21));
        jPasswordField1.setBounds(new Rectangle(425, 216, 98, 21));

        jTextPane1.setText("Please tick the values you wish to display");
        jTextPane1.setBounds(new Rectangle(44, 160, 238, 24));

        jCheckBox1.setText("Available Memory");
        jCheckBox1.setBounds(new Rectangle(44, 185, 118, 24));

        jCheckBox2.setText("Load Percentage");
        jCheckBox2.setBounds(new Rectangle(44, 210, 118, 24));

      jCheckBox3.setText("Available Disk Space");
      jCheckBox3.setBounds(new Rectangle(44, 235, 118, 24));

      jButton1.setBounds(new Rectangle(94, 277, 128, 30));
      jButton1.setText("Connect");
      jButton1.addActionListener(my_actionListener);
      jButton1.setActionCommand("CONNECT_CLICK");

      jButton2.setBounds(new Rectangle(255, 277, 128, 30));
      jButton2.setText("Cancel");
      jButton2.addActionListener(my_actionListener);
      jButton2.setActionCommand("CANCEL_CLICK");

      buttonPanel.add(jButton1, null);
      buttonPanel.add(jButton2, null);

      checkPanel.setLayout(new BorderLayout());
      checkPanel.setBounds(new Rectangle(100, 300, 250, 120));
      checkPanel.add(jTextPane1, BorderLayout.NORTH);
      checkPanel.add(jCheckBox1, BorderLayout.WEST);
      checkPanel.add(jCheckBox2, BorderLayout.WEST);
      checkPanel.add(jCheckBox3, BorderLayout.WEST);

      textPanel.setBounds(new Rectangle(100, 100, 471, 180));
      textPanel.add(jLabel1,                      null);
      textPanel.add(jTextField1,             null);
      textPanel.add(jLabel2,                      null);
      textPanel.add(jTextField2,             null);
      textPanel.add(jLabel3,                 null);
      textPanel.add(jPasswordField1,       null);

      this.getContentPane().add(buttonPanel, BorderLayout.SOUTH);
      this.getContentPane().add(checkPanel,  BorderLayout.CENTER);
      this.getContentPane().add(textPanel,   BorderLayout.NORTH);
    }

    public static void main (String [] args)
    {
        ProgramStartup thisWindow = new ProgramStartup();
        thisWindow.setVisible(true);

        thisWindow.addWindowListener(new WindowAdapter()
        {
            public void windowClosing(WindowEvent e)
            {
                System.exit(0);
            }
        });
    }

    // ----------------- ACTION LISTENER --------------------

    class Window_actionAdapter implements ActionListener
    {
        Window_actionAdapter()
        {
        }

        public void actionPerformed(ActionEvent e)
        {
            if(e.getActionCommand().equals("CANCEL_CLICK"))
            {
                // do the button stuff
                System.out.println("David says go home");
                System.exit(0);
            }
            else if(e.getActionCommand().equals("CONNECT_CLICK"))
            {
      JNIConnect jniConn = new JNIConnect();
      System.out.println("David is Cool");
      Login();

            }
        }
    }

    //------------------ CLASS OF VARIABLES -----------------

   class MachineDetails {
      String BSTRMachineName;
      String UserName;
      String PassWd;
      boolean AvailMemory;
      boolean LoadPercentage;
      boolean DiskSpaceFree;

   public MachineDetails(){
      String BSTRMachineName = null;
      String UserName = null;
      String PassWd   = null;
      boolean AvailMemory = false;
      boolean LoadPercentage = false;
      boolean DiskSpaceFree = false;
      }
   }

   public void Login(){
      MachineDetails dClass = new MachineDetails();
      //JNIConnect jniConn = new JNIConnect();

      dClass.BSTRMachineName = jTextField1.getText();
      dClass.UserName          = jTextField2.getText();
      dClass.PassWd                = jPasswordField1.getText();

      dClass.AvailMemory     = jCheckBox1.isSelected();
      dClass.LoadPercentage  = jCheckBox2.isSelected();
      dClass.DiskSpaceFree   = jCheckBox3.isSelected();

      driver(dClass);
    }

    public class JNIConnect{
      public JNIConnect()
      {
      try{
                                System.loadLibrary("guineyd");
      }
            catch(java.lang.UnsatisfiedLinkError e){
            System.out.println(e);
      }
      }

      }
       public native void driver(MachineDetails dClass) throws UnsatisfiedLinkError;;
}

*******************************************************************

Im looking at the co-ordinates for each of the checkBoxes and I can understand why its ending up that way

0
vassim
Asked:
vassim
1 Solution
 
keteracelCommented:
Ok, since you're not allowing the window to be resized we can position the elements absolutely. This is not the best way to do it (especially if resizing is an option) but is certainly the quickest for this simple dialog.....


********************************************************
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.awt.event.WindowAdapter;
import java.awt.event.WindowEvent;

import javax.swing.JButton;
import javax.swing.JCheckBox;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JPasswordField;
import javax.swing.JTextField;

//import com.college.attempt.cpp;

//import com.emc.college.ProgramActionListener;

public class ProgramStartup extends JFrame {
      private Window_actionAdapter my_actionListener = null;

      JLabel jLabel4 = new JLabel();

      JLabel jLabel1 = new JLabel();
      JLabel jLabel2 = new JLabel();
      JLabel jLabel3 = new JLabel();

      JTextField jTextField1 = new JTextField();
      JTextField jTextField2 = new JTextField();
      JTextField jPasswordField1 = new JPasswordField();

      JLabel jTextPane1 = new JLabel();
      JCheckBox jCheckBox1 = new JCheckBox();
      JCheckBox jCheckBox2 = new JCheckBox();
      JCheckBox jCheckBox3 = new JCheckBox();
      JButton jButton1 = new JButton();
      JButton jButton2 = new JButton();

      public ProgramStartup() {
            my_actionListener = new Window_actionAdapter();
            createGui();
      }

      private void createGui() {
            this.setTitle("Guineyd WMI Application");
            this.setSize(590, 340);
            this.setResizable(false);
            this.getContentPane().setLayout(null);

            jLabel1.setText("Machine Name");
            jLabel1.setLocation(30, 20);
            jLabel1.setSize(500, 20);
            
            jTextField1.setLocation(30, 41);
            jTextField1.setSize(500, 20);
            
            jLabel2.setText("Username");
            jLabel2.setLocation(30, 80);
            jLabel2.setSize(150, 20);

            jTextField2.setLocation(30, 101);
            jTextField2.setSize(150, 20);
            
            jLabel3.setText("Password");
            jLabel3.setLocation(380, 80);
            jLabel3.setSize(150, 20);

            jPasswordField1.setLocation(380, 101);
            jPasswordField1.setSize(150, 20);
            
            jLabel4.setText("Please tick the values you wish to display");
            jLabel4.setLocation(30, 170);
            jLabel4.setSize(500, 20);
            
            jCheckBox1.setText("Available Memory");
            jCheckBox1.setLocation(30, 191);
            jCheckBox1.setSize(500, 20);
            
            jCheckBox2.setText("Load Percentage");
            jCheckBox2.setLocation(30, 212);
            jCheckBox2.setSize(500, 20);
            
            jCheckBox3.setText("Available Disk Space");
            jCheckBox3.setLocation(30, 233);
            jCheckBox3.setSize(500, 20);

            jButton1.setText("Connect");
            jButton1.addActionListener(my_actionListener);
            jButton1.setActionCommand("CONNECT_CLICK");
            jButton1.setLocation(170, 273);
            jButton1.setSize(100, 20);

            jButton2.setText("Cancel");
            jButton2.addActionListener(my_actionListener);
            jButton2.setActionCommand("CANCEL_CLICK");
            jButton2.setLocation(290, 273);
            jButton2.setSize(100, 20);
            
            this.getContentPane().add(jLabel1);
            this.getContentPane().add(jTextField1);
            this.getContentPane().add(jLabel2);
            this.getContentPane().add(jTextField2);
            this.getContentPane().add(jLabel3);
            this.getContentPane().add(jPasswordField1);
            this.getContentPane().add(jLabel4);
            this.getContentPane().add(jCheckBox1);
            this.getContentPane().add(jCheckBox2);
            this.getContentPane().add(jCheckBox3);
            this.getContentPane().add(jButton1);
            this.getContentPane().add(jButton2);
      }

      public static void main(String[] args) {
            ProgramStartup thisWindow = new ProgramStartup();
            thisWindow.setVisible(true);

            thisWindow.addWindowListener(new WindowAdapter() {
                  public void windowClosing(WindowEvent e) {
                        System.exit(0);
                  }
            });
      }

      // ----------------- ACTION LISTENER --------------------

      class Window_actionAdapter implements ActionListener {
            Window_actionAdapter() {
            }

            public void actionPerformed(ActionEvent e) {
                  if (e.getActionCommand().equals("CANCEL_CLICK")) {
                        // do the button stuff
                        System.out.println("David says go home");
                        System.exit(0);
                  } else if (e.getActionCommand().equals("CONNECT_CLICK")) {
                        JNIConnect jniConn = new JNIConnect();
                        System.out.println("David is Cool");
                        Login();

                  }
            }
      }

      //------------------ CLASS OF VARIABLES -----------------

      class MachineDetails {
            String BSTRMachineName;
            String UserName;
            String PassWd;
            boolean AvailMemory;
            boolean LoadPercentage;
            boolean DiskSpaceFree;

            public MachineDetails() {
                  String BSTRMachineName = null;
                  String UserName = null;
                  String PassWd = null;
                  boolean AvailMemory = false;
                  boolean LoadPercentage = false;
                  boolean DiskSpaceFree = false;
            }
      }

      public void Login() {
            MachineDetails dClass = new MachineDetails();
            //JNIConnect jniConn = new JNIConnect();

            dClass.BSTRMachineName = jTextField1.getText();
            dClass.UserName = jTextField2.getText();
            dClass.PassWd = jPasswordField1.getText();

            dClass.AvailMemory = jCheckBox1.isSelected();
            dClass.LoadPercentage = jCheckBox2.isSelected();
            dClass.DiskSpaceFree = jCheckBox3.isSelected();

            driver(dClass);
      }

      public class JNIConnect {
            public JNIConnect() {
                  try {
                        System.loadLibrary("guineyd");
                  } catch (java.lang.UnsatisfiedLinkError e) {
                        System.out.println(e);
                  }
            }

      }
      public native void driver(MachineDetails dClass)
            throws UnsatisfiedLinkError;
      ;
}

*************************************************************

keteracel...
0
 
vassimAuthor Commented:
All I have to say is...............


I think I love you!!!!!!
0
Question has a verified solution.

Are you are experiencing a similar issue? Get a personalized answer when you ask a related question.

Have a better answer? Share it in a comment.

Join & Write a Comment

Featured Post

What Kind of Coding Program is Right for You?

There are many ways to learn to code these days. From coding bootcamps like Flatiron School to online courses to totally free beginner resources. The best way to learn to code depends on many factors, but the most important one is you. See what course is best for you.

Tackle projects and never again get stuck behind a technical roadblock.
Join Now