不能改变button的位置多数情况下是因为布局管理器的限制。

解决方案 »

  1.   

    可以把布局管理器设为null 
    这样就不会出现改变不了的情况了
      

  2.   

    把布局设置成null 然后确定控件的位置就可以了.setLayout(null);
    button.setLocation(100,100);
    这样你试试..
      

  3.   

    我在panel的构造函数里加了,可是连button都不显示了……
      

  4.   

    构造一个set()方法
    public void set(int gx,int gy,int gwidth,int gheight,int wx,int wy,int ar,int fi)
    {
    gbc.gridx=gx;
    gbc.gridy=gy;
    gbc.gridwidth=gwidth;
    gbc.gridheight=gheight;
    gbc.weightx=wx;
    gbc.weighty=wy;
    gbc.anchor=ar;
    gbc.fill=fi;
    }
    set(0,0,1,1,100,20,GridBagConstraints.CENTER,GridBagConstraints.NONE);
    gb.setConstraints(button,gbc);
    panel.add(button);