两个坐标相同,当然有一个会被覆盖了
你把panel.setlayout(null);
重新修改坐标点

解决方案 »

  1.   

    比如你可以remove掉不用的那个
    需要的时候再add进来jpanel.remove(button);
      

  2.   

    jButton1.setBounds(new Rectangle(2, 372, 55, 27));
    jButton2.setBounds(new Rectangle(58, 372, 58, 27));
      

  3.   

    我再说明白一点吧,现在有两个按钮A和B,A比B,并且完全覆盖了B,现在要求不改变两个按钮的位置和大小,将B移动到前面来,覆盖A的一部分,就象"回"一样,现在想请问这个移动的函数是什么!谢谢!
      

  4.   

    用我说的remove,add的方式不行吗?比如先显示a,则remove(b);add(a);
    要显示b,则remove(a);add(b);
      

  5.   

    这样好像效率不高,而且不能解决普遍的问题,比如我有三个或三个以上的按钮重叠,我要把最下面一个移动到最上面来,若要保证其他按钮的重叠位置不变,就要remove,add若干次,显然是不合理的,我看了帮助,上面有一个javax.swing.JLayeredPane.moveToFront(java.awt.Component)  但是我不会用,不知道这个函数能不能解决问题
      

  6.   

    如果哪一个在上面与add的顺序有关,那么每次要改变时就先把它们都remove然后再按照需要的顺序add它们不就行了么
      

  7.   

    没有不要用的,全部要用啊,我也就是拿按钮来举个例子,那我再换一个例子,用IMAGEICON,有一个最大的IMAGEICON是背景,我现在再动态创建一个IMAGEICON,肯定是位于背景之后,被覆盖的,我现在要将其显示到背景之前来,怎么做!?谢谢!
      

  8.   

    Here are some examples using the method add(Component, layer, position): 
    Calling add(5x, 5, -1) results in:       5a, 5b, 5c, 5x, 2a, 2b, 2c, 1a  
    Calling add(5z, 5, 2) results in:       5a, 5b, 5z, 5c, 5x, 2a, 2b, 2c, 1a  Calling add(3a, 3, 7) results in:       5a, 5b, 5z, 5c, 5x, 3a, 2a, 2b, 2c, 1a 看看这个,希望对你又帮助!!