contentPane.setLayout(null);
然后再设置位置,大小

解决方案 »

  1.   

    大概你用的布局管理器是BorderLayout,看一下布局管理器的知识点,布局管理有很多方式的。
      

  2.   

    不要在使用了SetLocation(), SetSize() 后调用pack()...
      

  3.   

    先这样:  setLayout(null);
    再     setBounds(int x,int y,int width,int heighth );
      X,Y是设置控件左上角的位置的,后两个是设置窗体的宽度与高度的。
    试试看,也许管用的。你的问题可能是没有设置初始的那个:setLayout(null);
    否则默认的就会用BorderLayout的布局管理器的了。
      

  4.   

    说点题外话,做JAVA 图形化编程时,先把布局管理器设定为XYLayout,自由调整好控件位置后在把布局管理器设定为GridBagLayout,在整体上和用XYLayout做的界面没有太大出入。这种办法可以省去用很多的JPanel。
      

  5.   

    不知道你用的什么工具,如果用JBUILDER的话,就可以象cwell所说的,先把布局管理器设定为XYLayout,在图形化设计界面中先调整好控件的位置,大小,再把布局管理器改为GridBagLayout,因为这样的话,当窗口大小改变时,控件之间的位置也会相应的改变