首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > JAVA > Java相关 >

如何在SWING中设置背景图片

2012-03-09 
怎么在SWING中设置背景图片?我想着是用BorderLayout布局管理器,然后用了一个JLABLE组件放了一张图片,我现

怎么在SWING中设置背景图片?
我想着是用BorderLayout布局管理器,然后用了一个JLABLE组件放了一张图片,
我现在想把这个图片做为背景,然后在背景上面再放组件。。
多谢高手相助!

[解决办法]
Jlable貌似不能再放组件了
[解决办法]
icon
[解决办法]
那就在最底层的panel上绘图吧
[解决办法]
JPanel contentPane = new JPanel();
在contentPane上把背景图画上,重写JPanel 的 protected void paintComponent(...)
frame.setContentPane(contentPane);
[解决办法]
5楼该的分
[解决办法]
5楼的可以实现效果,但是不推荐使用。
正确的应该是放在JFrame的layeredPane上,然后将content.setOpaque(false)。e.g.:
package tmp;

import java.awt.*;
import java.awt.event.*;
import javax.swing.*;

public class BgFrame extends JFrame {
public BgFrame() {
super("Bg Frame Demo");
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
setSize(300,300);

ImageIcon img = new ImageIcon("img.jpg");
JLabel bgLabel = new JLabel(img);
this.getLayeredPane().add(bgLabel, new Integer(Integer.MIN_VALUE));
bgLabel.setBounds(0,0,img.getIconWidth(),img.getIconHeight());

this.getContentPane().add(new JLabel("Hello Background"));
((JPanel)getContentPane()).setOpaque(false);

setVisible(true);
}

public static void main(String[] args) {
BgFrame f = new BgFrame();
}
}
[解决办法]
用不着那么多代码吧 如果是放一个 label上去的话 直接这么打

lblPic.setIcon(new ImageIcon("path"));

注: path可以是绝对路径也可以是相对路径 ,当然推荐相对路径了,直接存放在工程下面就可以了。

例: lblPic.setIcon(new ImageIcon("099910991.jpg"));
[解决办法]
8楼的,讲的蛮好! 推荐相对路径是明知的选择!!
[解决办法]
谢谢各位大虾们~小弟第一天来,收获不小`

热点排行