展开全部
BorderLayout是边e69da5e887aa3231313335323631343130323136353331333337623538框布局,默认位置是Center,且会自动占满屏幕。如图
可以选择使用Jpanel的默认布局FlowLayout或其它布局。
由于ToolKit无法获取到图片,所以使用了另外的方法来作为示例代码。import java.awt.Button;
import java.awt.Graphics;
import java.awt.Image;
import java.io.FileInputStream;
import java.io.IOException;
import javax.imageio.ImageIO;
import javax.swing.JFrame;
import javax.swing.JPanel;
public class $ extends JFrame {
static Image background;
private JPanel contentPane = new JPanel() {
@Override
public void paint(Graphics g) {
//重新绘制背景图片时图片自适应
g.drawImage(background.getScaledInstance(getWidth(), getHeight(), 0), 0, 0, null);
}
};
public static void main(String[] args) {
try {
background = ImageIO.read(new FileInputStream($.class.getResource("test.jpg").getPath()));
} catch (IOException e) {
e.printStackTrace();
}
new $();
}
public $() {
setTitle("使背景图片自动适应窗体的大小");
setVisible(true);
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
setBounds(100, 100, 450, 300);
// contentPane.setLayout(null); //默认是FlowLayout,设置为null时需要为空间指定位置。
contentPane.setOpaque(false);
setContentPane(contentPane);
contentPane.add(new Button("Hello"));
}
}
结果如图