import java.awt.*;
import javax.swing.*;
public class TestBackgroundColor extends JFrame {
public static void main(String[] args) {
// TODO Auto-generated method stub
TestBackgroundColor tbc = new TestBackgroundColor();
tbc.setVisible(true);
}
private JPanel imagePanel;
private ImageIcon background;
public TestBackgroundColor() {
background = new ImageIcon("blue.jpg");// 背景图片
JLabel label = new JLabel(background);// 把背景图片显示在一个标签里面
// 把标签的大小位
// 置设置为图片刚好填充整个面板
label.setBounds(0, 0, background.getIconWidth(), background
.getIconHeight());
// 把内容窗格转化为JPanel,否则不能用方法setOpaque()来使内容窗格透明
imagePanel = (JPanel) this.getContentPane();
imagePanel.setOpaque(false);
// 内容窗格默认的布局管理器为BorderLayout
imagePanel.setLayout(new FlowLayout());
imagePanel.add(new JButton("测试按钮"));
this.getLayeredPane().setLayout(null);
// 把背景图片添加到分层窗格的最底层作为背景
this.getLayeredPane().add(label, new Integer(Integer.MIN_VALUE));
this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
this.setSize(background.getIconWidth(), background.getIconHeight());
this.setVisible(true);
}
}
本文介绍了一个使用Java Swing创建带有背景图片的应用程序的方法。通过将背景图片设置为 JLabel 的图标,并将其放置在 JFrame 的最底层实现整体背景效果。文章展示了如何调整组件使其与背景融合,并保持界面透明。
5238

被折叠的 条评论
为什么被折叠?



