swing - Java checkbox positioning -


i'm relatively new java , creating login form. problem having position of checkbox seen in picture below, trying assign start directly below "p" in "password.

this application when running

here code:

    import java.awt.*;     import java.awt.event.actionevent;     import java.awt.event.actionlistener;     import javax.swing.*;  public class login extends jpanel{  private static jlabel usernamelabel, passwordlabel; private static jtextfield usernamefield; private static jpasswordfield passwordfield; private static jcheckbox checkbox; private static jbutton loginbutton; gridbagconstraints gbc = new gridbagconstraints();  public login(){      //layout     setlayout(new gridbaglayout());     //spacing between each component     gbc.insets = new insets(1,1,1,1);       //new instance of objects     usernamelabel = new jlabel("username:");     passwordlabel = new jlabel("password:");     usernamefield = new jtextfield(10);     passwordfield = new jpasswordfield(10);     checkbox = new jcheckbox("keep me logged in");     loginbutton = new jbutton("login");      //username label         gbc.anchor = gridbagconstraints.line_end;     gbc.gridx = 0;     gbc.gridy = 0;     add(usernamelabel, gbc);      //password label     gbc.gridx = 0;     gbc.gridy = 1;     add(passwordlabel, gbc);      //username textfield     gbc.anchor = gridbagconstraints.line_start;     gbc.gridx = 1;     gbc.gridy = 0;       add(usernamefield, gbc);      //password textfield     gbc.gridx = 1;     gbc.gridy = 1;     add(passwordfield, gbc);      //keep logged in checkbox     gbc.gridx = 0;     gbc.gridy = 2;     add(checkbox, gbc);      //login button     gbc.gridx = 1;     gbc.gridy = 3;     add(loginbutton, gbc);     }   } 

i'm not sure why checkbox isn't in-line labels, appreciated. thanks.

try this:

checkbox = new jcheckbox(""); checkboxlabel = new jlabel("keep me logged in"); 

then when adding components

//keep logged in checkbox     gbc.gridx = 0;     gbc.gridy = 2;     gbc.anchor = gridbagconstraints.west;     add(checkbox, gbc);     gbc.gridx = 1;     gbc.gridy = 2;     add(checkboxlabel); 

Comments