import java.awt.*;
import java.awt.event.*;
public class GridBagTest extends WindowAdapter implements WindowListener{
Frame f;
public static void main (String[] args) {
GridBagTest win=new GridBagTest();
win.go();
    }
    public void go()
    {
     f=new Frame("123");
     f.setSize(100,100);
     f.addWindowListener(this);
     GridBagLayout g=new GridBagLayout();
     GridBagConstraints c=new GridBagConstraints();
     Button b=new Button();
     c.gridx=0;
     c.gridy=0;
     c.gridwidth=2;
     c.gridheight=10;
     c.weightx=1; 
         c.weighty=1; 
     c.fill=GridBagConstraints.BOTH;
     c.insets=new Insets(8,8,8,8);
     g.setConstraints(b,c);
     f.setLayout(g);
     f.add(b);
     c.gridx=10;
     c.gridwidth=1;
     Button a=new Button();
     g.setConstraints(a,c);
     f.add(a);
  f.setVisible(true);
     }
    public void windowClosing(WindowEvent ev)
{
System.exit(0);
}
}
明明两个按钮的宽度设置的不一样,为什么程序运行的时候出现了两个一模一样的按钮呢???

解决方案 »

  1.   

    import java.awt.*; 
    import java.awt.event.*; 
    public class GridBagTest extends WindowAdapter implements WindowListener{ 
    Frame f; 
    public static void main (String[] args) { 
    GridBagTest win=new GridBagTest(); 
    win.go(); 
        } 
        public void go() 
        { 
         f=new Frame("123"); 
         f.setSize(100,100); 
         f.addWindowListener(this); 
         GridBagLayout g=new GridBagLayout(); 
         GridBagConstraints c=new GridBagConstraints(); 
         Button b=new Button(); 
         c.gridx=0; 
         c.gridy=0; 
         c.gridwidth=2; 
         c.gridheight=10; 
         c.weightx=1;  
             c.weighty=1;  
         c.fill=GridBagConstraints.BOTH; 
         c.insets=new Insets(8,8,8,8); 
         g.setConstraints(b,c); 
         f.setLayout(g); 
         f.add(b); 
         c.gridx=10; 
         c.gridwidth=1; 
         Button a=new Button(); 
         g.setConstraints(a,c); 
         f.add(a); 
      f.setVisible(true); 
         } 
        public void windowClosing(WindowEvent ev) 

    System.exit(0); 

    } 他们设的组件的约束条件不是一样的吗,我觉得是这里的问题
      

  2.   

    g.setConstraints(a,c); 与 g.setConstraints(b,c);
      

  3.   

    搂主试了没,如果g.setConstraints(a,c); 与 g.setConstraints(b,c);中的c不一样。
    是不是还是出现这个问题,如果是那说明与这里无关,如果不是很显然就是这里的问题啊
      

  4.   

    g.setConstraints(a,c); 与 g.setConstraints(b,c);
      

  5.   

    试过啊,而且所有的有关代码,都只用了一个GridBagConstraints对象啊