DESKTOP_PANE.addComponentListener(new ComponentAdapter() {
public void componentResized(final ComponentEvent e) {
Dimension size = e.getComponent().getSize();
label.setSize(e.getComponent().getSize());
label.setText("<html><img width="+size.width + " height="
+ size.height + " src='"
+ label.getClass().getResoure("C:\\Users\\superzhao\\Pictures\\BACK111.jpg")+ "'></html>");
}
});

解决方案 »

  1.   

    给组件加一个监听,当组件的尺寸变化时,动态修改label的大小及缩放使用到的图片
      

  2.   

    package com.wsy;import java.awt.BorderLayout;
    import java.awt.Dimension;
    import java.awt.event.ActionEvent;
    import java.awt.event.ComponentAdapter;
    import java.awt.event.ComponentEvent;
    import java.awt.image.BufferedImage;
    import java.io.File;
    import java.io.IOException;
    import java.net.URL;
    import javax.imageio.ImageIO;import javax.swing.ImageIcon;
    import javax.swing.JButton;
    import javax.swing.JDesktopPane;
    import javax.swing.JFrame;
    import javax.swing.JInternalFrame;
    import javax.swing.JLabel;
    import javax.swing.JMenu;
    import javax.swing.JMenuBar;
    import javax.swing.JMenuItem;
    import javax.swing.JPanel;
    import javax.swing.UIManager;
    import javax.swing.WindowConstants;
    import javax.swing.border.BevelBorder;import com.wsy.iframe.BookLoginIFrame;
    import com.wsy.util.CreatecdIcon;/**
     * 主窗体
     * 
     */
    public class Library extends JFrame {
        
    private static final JDesktopPane DESKTOP_PANE = new JDesktopPane();
    public static void main(String[] args) {
    try {
    UIManager.setLookAndFeel(UIManager.getSystemLookAndFeelClassName());
    new BookLoginIFrame();//登录窗口
    } catch (Exception ex) {
    ex.printStackTrace();
    }
    }
    public static void addIFame(JInternalFrame iframe) { // 添加子窗体的方法
    DESKTOP_PANE.add(iframe);
    }
    public Library() throws IOException {
    super();       
    setDefaultCloseOperation(WindowConstants.EXIT_ON_CLOSE);
    setLocationByPlatform(true);
    setSize(800,600);
    setTitle("南工大图书馆管理系统");             
    JMenuBar menuBar = createMenu(); // 调用创建菜单栏的方法
    setJMenuBar(menuBar);
                    
                    final JLabel label = new JLabel();         
                    label.setBounds(0, 0, 0, 0);
    label.setIcon(null); // 窗体背景
                    DESKTOP_PANE.addComponentListener(new ComponentAdapter() {
    public void componentResized(final ComponentEvent e) {
    Dimension size = e.getComponent().getSize();
    label.setSize(e.getComponent().getSize());
    label.setText("<html><img width="+size.width + " height="
    + size.height + " src='"
    + this.getClass().getResource("C:\\用户\\superzhao\\我的图片\\BACK111.jpg")
    + "'></html>");
    }
    });
                    
    DESKTOP_PANE.add(label,new Integer(Integer.MIN_VALUE));
    getContentPane().add(DESKTOP_PANE);

    }