用Java编写一个背景图像自适应窗体大小的例程,
以下是源程序:
package image;
import java.awt.*;
import javax.swing.*;
import java.io.*;
import javax.imageio.ImageIO;
public class AutoSizeBImg extends JFrame {
private Image image;
private class BackgroundPan extends JComponent { //内部类:显示背景面板
@Override
protected void paintComponent(Graphics g) {
if (image==null) return;
g.drawImage(image,0,0, getWidth(), getHeight(), this); //自缩放
}
}
public AutoSizeBImg(String path) {
setTitle("自适应背景图像");
setPreferredSize(new Dimension(360, 430));
try {
image = ImageIO.read(new File(path));
} catch (Exception e) {
e.printStackTrace();
}
BackgroundPan bkgrdPan = new BackgroundPan();
add(bkgrdPan, BorderLayout.CENTER);
pack();
setVisible(true);
}
public static void main(String[] args) throws IOException {
String path = "image\\background.png";
new AutoSizeBImg(path);
}
}
例程的测试效果图: