如何在java swing的application 加个背景图片来美化以下阿
还有那个application上面还有很多的JPanel, JLabel那些东西如何让背景变成透明阿。。主要想要美化以下界面。。谢谢了

解决方案 »

  1.   

    bgLable.setIcon(backgroundIcon);
    getContentPane().add(bgLabel,-1);                // 在最底层加一个带背景图的JLabel
    getContentPane().add(yourContentPanel,0);        // 在顶层添加你的组件如果添加的组件是JPanel,要把JPanel设置为透明的。panel.setOpaque(false);
      

  2.   

    可以加一个和窗体一样大小的label,设置label的背景图片(把label当图片控件用)
      

  3.   

    解决了。。代码如下
    import java.awt.BorderLayout;
    import java.awt.Color;
    import java.awt.Graphics;
    import java.awt.Image;
    import java.awt.Toolkit;import javax.swing.JFrame;
    import javax.swing.JLabel;
    import javax.swing.JPanel;public class Background extends JFrame
    {
        public Background()
        {
            BackPanel p = new BackPanel();
            getContentPane().add(p);
            JPanel conP = new JPanel();
            conP.setOpaque(false);
            p.setLayout(new BorderLayout());
            p.add("Center", conP);
            JLabel label = new JLabel("Background example");
            label.setForeground(Color.white);
            label.setOpaque(false);
            conP.add(label);
            
            setSize(800,600);
            setVisible(true);
        }
        /**
         * @param args
         */
        public static void main(String[] args)
        {
            // TODO Auto-generated method stub
            new Background();
        }}
    class BackPanel extends JPanel
    {    protected void paintComponent(Graphics g)
        {
            // TODO Auto-generated method stub
            super.paintComponent(g);
            Image img = Toolkit.getDefaultToolkit().getImage("lain_5.jpg");
            g.drawImage(img, 0,0,null,this);
        }
        
    }