Restarting the applet using GridBagLayout alters the layout of its components.

XMLWordPrintable

    • Type: Bug
    • Resolution: Not an Issue
    • Priority: P4
    • None
    • Affects Version/s: 1.1.6
    • Component/s: tools



      Name: diC59631 Date: 03/30/98


      When restarting an applet which uses java.awt.GridBagLayout in
      appletviewer, it alters the layout of its components. This occurs
      in not only Win32 environment but also in Solaris. This problem
      can be found from JDK1.1.3 through JDK1.1.6K.
       
      Following code demonstrates the problem.
       
      <HTML>
      <Title>GridBagEx1</Title>
      <BODY>
      <applet code=GridBagEx1.class width=550 height=400>
      </applet>
      </BODY>
      </HTML>
       
      import java.awt.*;
      import java.util.*;
      import java.applet.Applet;
      public class GridBagEx1 extends Applet {
          protected void makebutton(String name,
                                    GridBagLayout gridbag,
                                    GridBagConstraints c) {
              Button button = new Button(name);
              gridbag.setConstraints(button, c);
              add(button);
          }
          public void init() {
              GridBagLayout gridbag = new GridBagLayout();
              GridBagConstraints c = new GridBagConstraints();
              setFont(new Font("Helvetica", Font.PLAIN, 14));
              setLayout(gridbag);
              c.fill = GridBagConstraints.BOTH;
              c.weightx = 1.0;
              makebutton("Button1", gridbag, c);
              makebutton("Button2", gridbag, c);
              makebutton("Button3", gridbag, c);
              c.gridwidth = GridBagConstraints.REMAINDER; //end row
              makebutton("Button4", gridbag, c);
              c.weightx = 0.0; //reset to the default
              makebutton("Button5", gridbag, c); //another row
              c.gridwidth = GridBagConstraints.RELATIVE; //next-to-last in row
              makebutton("Button6", gridbag, c);
              c.gridwidth = GridBagConstraints.REMAINDER; //end row
              makebutton("Button7", gridbag, c);
              c.gridwidth = 1; //reset to the default
              c.gridheight = 2;
              c.weighty = 1.0;
              makebutton("Button8", gridbag, c);
              c.weighty = 0.0; //reset to the default
              c.gridwidth = GridBagConstraints.REMAINDER; //end row
              c.gridheight = 1; //reset to the default
              makebutton("Button9", gridbag, c);
              makebutton("Button10", gridbag, c);
              setSize(300, 100);
          }
          public static void main(String args[]) {
                Frame f = new Frame("GridBag Layout Example");
                GridBagEx1 ex1 = new GridBagEx1();
                ex1.init();
                f.add("Center", ex1);
                f.pack();
                f.setSize(f.getPreferredSize());
                f.show();
          }
      }
      (Review ID: 27442)
      ======================================================================

            Assignee:
            James Mcilree (Inactive)
            Reporter:
            Daniel Indrigo (Inactive)
            Votes:
            0 Vote for this issue
            Watchers:
            0 Start watching this issue

              Created:
              Updated:
              Resolved:
              Imported:
              Indexed: