我在frame中已经添加了Menubarhe和toolbar,想添加背景图片。我先加了个lable,给lable加了图片,但是不能充满整个frame,请各位指点指点,急!

解决方案 »

  1.   

    直接给BODY加background不就行了
      

  2.   

    如你的java文件是MainFrame.javaJLabel imageLabel = new JLabel();
    ImageIcon image;image = new ImageIcon(yourPackage.MainFrame.class.getResource("XXX.png"));
    imageLabel.setIcon(image);
    this.getContentPane().add(imageLabel,BorderLayout.CENTER);
      

  3.   

    JFrame是由这么几部分组成:最底下一层JRootPane,上面是glassPane(一个JPanel)和layeredPane(一个JLayeredPane),而layeredPane又由contentPane(一个JPanel)和menuBar构成。
    我们一般在JFrame上添加组件往往都是加在contentPane上面:frame.getContentPane().add(btn);要在JFrame上添加背景图片,常见做法是加在layeredPane上面,并将contentPane设置成透明的即可。// 将图片添加到layeredPane
    ImageIcon img = new ImageIcon("steve.jpg");
    JLabel imgLabel = new JLabel(img);
    frame.getLayeredPane().add(imgLabel, new Integer(Integer.MIN_VALUE));
    imgLabel.setBounds(0,0,img.getIconWidth(), img.getIconHeight());
    ...
    // 将contentPane设置成透明的
    ((JPanel)getContentPane()).setOpaque(false);