Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]


Groups > comp.lang.java.gui > #706

TotallyGridBag

From "Ian Wilson" <ian.wilson@THRWHITE.remove-dii-this>
Subject TotallyGridBag
Message-ID <cuadnUiRd5qTkDPYnZ2dnUVZ8tignZ2d@bt.com> (permalink)
Newsgroups comp.lang.java.gui
Date 2011-04-27 15:29 +0000
Organization TDS.net

Show all headers | View raw


  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

Back to comp.lang.java.gui | Previous | NextNext in thread | Find similar | Unroll thread


Thread

TotallyGridBag "Ian Wilson" <ian.wilson@THRWHITE.remove-dii-this> - 2011-04-27 15:29 +0000
  Re: TotallyGridBag "Andrew Thompson" <andrew.thompson@THRWHITE.remove-dii-this> - 2011-04-27 15:29 +0000
    Re: TotallyGridBag "Ian Wilson" <ian.wilson@THRWHITE.remove-dii-this> - 2011-04-27 15:29 +0000

csiph-web