Path: csiph.com!x330-a1.tempe.blueboxinc.net!feeder1.hal-mli.net!news.glorb.com!news-out.readnews.com!news-xxxfer.readnews.com!news-out.news.tds.net!newsreading01.news.tds.net!86597e80!not-for-mail From: "Ian Wilson" Subject: TotallyGridBag Message-ID: X-Comment-To: comp.lang.java.gui Newsgroups: comp.lang.java.gui Content-Type: text/plain; charset=IBM437 Content-Transfer-Encoding: 8bit X-Gateway: time.synchro.net [Synchronet 3.15a-Win32 NewsLink 1.92] Lines: 65 Date: Wed, 27 Apr 2011 15:29:05 GMT NNTP-Posting-Host: 96.60.20.240 X-Complaints-To: news@tds.net X-Trace: newsreading01.news.tds.net 1303918145 96.60.20.240 (Wed, 27 Apr 2011 10:29:05 CDT) NNTP-Posting-Date: Wed, 27 Apr 2011 10:29:05 CDT Organization: TDS.net Xref: x330-a1.tempe.blueboxinc.net comp.lang.java.gui:706 To: comp.lang.java.gui I was putting together some comparisons of Layout Managers and am a bit stuck with GridBagLayout. In the example below, if you resize the frame so it is a bit narrower, the Password JTextField collapses to zero width. I recognised this as something I'd seen in madbean's TotallyGridBag animation[1]. So I watched that over again, only to discover that the hero gives up before solving it, so I couldn't copy his solution :-( Clues? ------------------------------------------------------------------ import java.awt.GridBagConstraints; import java.awt.GridBagLayout; import javax.swing.JFrame; import javax.swing.JLabel; import javax.swing.JPanel; import javax.swing.JTextField; import javax.swing.SwingUtilities; public class FormSmallGridBag extends JPanel { FormSmallGridBag() { setLayout(new GridBagLayout()); GridBagConstraints gc = new GridBagConstraints(); gc.gridx = 0; gc.gridy = 0; gc.anchor = GridBagConstraints.LINE_END; add(new JLabel("Name:"), gc); gc.gridx = 1; gc.gridy = 0; gc.anchor = GridBagConstraints.LINE_START; gc.fill = GridBagConstraints.HORIZONTAL; gc.weightx = 0.9; add(new JTextField(16), gc); gc.gridx = 0; gc.gridy = 1; gc.fill = GridBagConstraints.NONE; gc.weightx = 0.0; // reset to default add(new JLabel("Password:"), gc); gc.gridx = 1; gc.gridy = 1; add(new JTextField(10), gc); // Collapses if frame shrunk! } public static void main(String[] args) { SwingUtilities.invokeLater(new Runnable() { public void run() { JFrame f = new JFrame("Form Small - GridBagLayout"); f.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); f.add(new FormSmallGridBag()); f.pack(); f.setVisible(true); } }); } } ------------------------------------------------------------------ [1] http://madbean.com/anim/totallygridbag --- * Synchronet * The Whitehouse BBS --- whitehouse.hulds.com --- check it out free usenet! --- Synchronet 3.15a-Win32 NewsLink 1.92 Time Warp of the Future BBS - telnet://time.synchro.net:24