Re: GridBagLayout not behaving as specified



"Ian Wilson" <scobloke2@xxxxxxxxxxxxx> wrote in message news:46273424$0$10730$db0fefd9@xxxxxxxxxxxxxxxxx

import java.awt.BorderLayout;
import java.awt.Dimension;
import java.awt.EventQueue;
import java.awt.GridBagConstraints;
import java.awt.Insets;

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

import net.miginfocom.swing.MigLayout;

public class GBTest extends JFrame {
private JPanel panel = new JPanel();
private JLabel userLabel = new JLabel("User:");
private JLabel passwordLabel = new JLabel("Password:");
private JLabel dbLabel = new JLabel("Database:");
private JTextField userTextField = new JTextField(10);
private JTextField dbTextField = new JTextField(14);
private JPasswordField passwordField = new JPasswordField(8);
private JButton dbButton = new JButton("...");

public GBTest() {
setLayout(new BorderLayout());
panel.setLayout(new MigLayout("wrap 4"));

panel.add(userLabel);
panel.add(userTextField);
panel.add(passwordLabel);
panel.add(passwordField, "span 2");
panel.add(dbLabel);
panel.add(dbTextField, "span 3");
panel.add(dbButton);

add(panel, BorderLayout.CENTER);

pack();
setPreferredSize(new Dimension(400, 250));
setSize(new Dimension(400, 250));
setLocationRelativeTo(null);
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
}

public static void main(String[] args) {
EventQueue.invokeLater(new Runnable() {
public void run() {
new GBTest().setVisible(true);
}
});
}
}

Thanks Ian. I am impressed with the conciseness of this layout but unfortunately when I run that it puts the button on the next line and not next to the text field as desired. Do you get the same result? I have just downloaded the latest MiGLayout and am using Java 6 Update 2.

--
And loving it,

-Q
_________________________________________________
Qu0llSixFour@xxxxxxxxx
(Replace the "SixFour" with numbers to email me)

.


Quantcast