Question

I am creating a GUI using BlueJ - Java, i have made the entry boxes however i cant seem to add a label to go either above each one or to the left. Could anyone help me out and tell me where im going wrong ? My code is below:

import javax.swing.*;
import java.awt.*;
import java.awt.event.*;
import javax.swing.JFrame;
import javax.swing.JLabel;


public class Log extends JFrame {


    public static void main(String[] args){
        Log frameTabel = new Log();
    }

    JButton Confirm = new JButton("Confirm");
    JPanel panel = new JPanel();
    JLabel label1 = new JLabel("Name", JLabel.RIGHT);
    JTextField FullName = new JTextField(15);
    JTextField Address1line = new JTextField(15);
    JTextField postcode = new JTextField(15);
    JTextField Destination = new JTextField(15);
    JTextField Date = new JTextField(15);
    JTextField MilesTravelling = new JTextField(15);
    JLabel lblMsg = new JLabel ("Name",JLabel.LEFT);

    Log(){
        super("Customer GUI");
        setSize(300,400);
        setLocation(400,250);
        panel.setLayout(null);

        FullName.setBounds(70,30,150,20);
        Address1line.setBounds(70,80,150,20);
        postcode.setBounds(70,130,150,20);
        Destination.setBounds(70,180,150,20);
        Date.setBounds(70,230,150,20);
        MilesTravelling.setBounds(70,280,150,20);
        Confirm.setBounds(105,320,80,20);

        panel.add(lblMsg);
        panel.add(Confirm);
        panel.add(FullName);
        panel.add(Address1line);
        panel.add(postcode);
        panel.add(Destination);
        panel.add(Date);
        panel.add(MilesTravelling);
        getContentPane().add(label1);

        getContentPane().add(panel);
        setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
        setVisible(true);

    }
}
Was it helpful?

Solution

.

getContentPane().add(label1); //JFrames CENTER area
getContentPane().add(panel);
  • then last added JComponent can be visible

.

getContentPane().add(panel);
  • suggestions don't to use NullLayout and Log frameTabel = new Log(); should be wrapped into invokeLater (Swing GUI should be created and intialized on EventDispatchThread), more to see in Oracle tutorial Initial Thread
Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow
scroll top