Re: gridbag layout
asit wrote:
I was recently studying GridBagLayout. As I have insuffecient material
ab GridBagLayout, I tried to learn from experiments.
Here is a code I wrote,
import javax.swing.*;
import java.awt.*;
public class Main {
/**
* @param args
*/
public static void main(String[] args) {
// TODO Auto-generated method stub
JFrame frm = new JFrame("Login");
frm.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
JPanel panel = new JPanel();
JLabel loginHeading = new JLabel("Login Window");
JLabel userId = new JLabel("User Id : ");
JLabel passwd = new JLabel("Password : ");
JButton login = new JButton("Login");
JTextField userIdField = new JTextField(10);
JTextField passwdField = new JTextField(10);
GridBagLayout gbg = new GridBagLayout();
GridBagConstraints gbc = new GridBagConstraints();
frm.setLayout(gbg);
gbc.anchor = GridBagConstraints.NORTH;
gbc.insets = new Insets(25,25,0,0);
gbc.gridwidth = GridBagConstraints.REMAINDER;
gbg.setConstraints(loginHeading, gbc);
gbc.gridwidth = GridBagConstraints.RELATIVE;
gbg.setConstraints(userId, gbc);
gbc.gridwidth = GridBagConstraints.REMAINDER;
gbg.setConstraints(userIdField, gbc);
gbc.gridwidth = GridBagConstraints.RELATIVE;
gbg.setConstraints(passwd, gbc);
gbc.gridwidth = GridBagConstraints.REMAINDER;
gbg.setConstraints(passwdField, gbc);
gbc.gridwidth = GridBagConstraints.REMAINDER;
gbg.setConstraints(login, gbc);
frm.add(loginHeading);
frm.add(userId);
frm.add(userIdField);
frm.add(passwd);
frm.add(passwdField);
frm.add(login);
//frm.pack();
frm.setSize(400,500);
frm.setVisible(true);
}
}
It works fine. But how can I add spacing between the heading label and
the rest of the labels ???
Here is one way. I wrote a GridBagLayout simulator that you can play
with. It's not the easiest thing to use but it is handy if you want to
try some constraints without programming them.
http://rabbitbrush.frazmtn.com/gridbagtester.html
Oh, and please try not to post tabs, it makes a mess out of code
listings for most everybody else that doesn't use them.
import javax.swing.*;
import java.awt.*;
public class Main {
/**
* @param args
*/
public static void main(String[] args) {
// TODO Auto-generated method stub
JFrame frm = new JFrame("Login");
frm.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
JPanel panel = new JPanel();
JLabel loginHeading = new JLabel("Login Window");
JLabel userId = new JLabel("User Id : ");
JLabel passwd = new JLabel("Password : ");
JButton login = new JButton("Login");
JTextField userIdField = new JTextField(10);
JTextField passwdField = new JTextField(10);
GridBagLayout gbg = new GridBagLayout();
GridBagConstraints gbc = new GridBagConstraints();
frm.setLayout(gbg);
gbc.gridy = 0; gbc.gridwidth = 2;
frm.add(loginHeading,gbc);
gbc.insets = new Insets(75,25,0,0);
++gbc.gridy; gbc.gridwidth = 1;
frm.add(userId,gbc);
frm.add(userIdField,gbc);
++gbc.gridy;
gbc.insets = new Insets(25,25,0,0);
frm.add(passwd,gbc);
frm.add(passwdField,gbc);
++gbc.gridy; gbc.gridwidth = 2;
frm.add(login,gbc);
frm.pack();
//frm.setSize(400,500);
frm.setVisible(true);
}
}
--
Knute Johnson
email s/nospam/knute2009/
--
Posted via NewsDemon.com - Premium Uncensored Newsgroup Service
------->>>>>>http://www.NewsDemon.com<<<<<<------
Unlimited Access, Anonymous Accounts, Uncensored Broadband Access