我添加了2个组件,一个挡住了另一个,如何把下面的层顺序改变一下,就像html里的z-index属性一样?我发现如果把下面的组件后添加的话,会在上面。但由于其它条件所限,不能先添加。

解决方案 »

  1.   

    同一个容器里面的顺序是
    先添加在最上层
    多个容器按照容器的顺序
    先添加在最上层也可以先添加
    在把她的setVisible(false)这样做
    不影响当前显示setVisible(true)后就是效果
      

  2.   

    API里有设置panel的位置的..不很清楚了..
      

  3.   

    to mdxk:
      问题是这样的,被覆盖的只是一部分,A小,B大,A位于B中,只覆盖A占的部分,A是个JLable,B是也是个JLabel,B设置了border,但A位于B的border附近却不能覆盖B的border线,只有border线透了出来,其它地方都覆盖上了,故此这么问。所以在这里不可能将B简单地隐藏啊。
      

  4.   

    把你的组件添加到JLayeredPane,它可以设置组件的叠放次序然后把JLayeredPane加到JFrame
      

  5.   

    JLayeredPane可以解决这个问题,但它的背景色怎么默认是白色的呢,还得设置成灰色,而且灰色的rgb值还无从得知,只有写个程序查一下才行。
      

  6.   

    设一下背景很麻烦吗??灰色的rgb值还用自己写程序查?
    随便哪个颜色选择对话框都行了
      

  7.   

    用GridLayout分成几行几列,然后填充JLable