添加组件一般都是新建一个JPanel,然后在JPanel上随便添加,可是那样就把背景图片遮盖掉了,有什么办法吗?我试过把JPanel透明,可是没用。

解决方案 »

  1.   

    重写这个你作为容器的 JPanel 的 paintComponent 方法
    第一句调用 super.paintComponent(g);
    之后绘制你的背景图
      

  2.   

    我就是用super.paintComponent(g);之后绘制的图
    然后frame.getContentPane().add(XXXXXX)调用这个方法
    然后添加JPanel,就把原来的图片遮盖掉了
      

  3.   

    组件不透明
    调用 setOpaque(false)试试
      

  4.   

    你应该有一个 JPanel 作为底层容器 
    其他的控件都加在这个 JPanel 上然后重写这个 JPanel 的 paintComponent 方法最后只要把这个 JPanel  设到 JFrame 上去就好了
    setContentPane(xxxxxx);但是要注意的是,如果你在这个 JPanel 上添加的控件完全填满了它,就是把这个 JPanel 都完全覆盖住了
    那你在这个 JPanel 上绘制的背景图片还是会显示不出来
    除非你把这个 JPanel 上的那些控件也都一个个的设置 setOpaque(false)
      

  5.   

    你可以把你的背景图画在JPANEL上
    要么就重写它的paintComponent方法