怎么在SWING中设置背景图片?

pjxaccp 2007-06-01 06:39:53
我想着是用BorderLayout布局管理器,然后用了一个JLABLE组件放了一张图片,
我现在想把这个图片做为背景,然后在背景上面再放组件。。
多谢高手相助!
...全文
2503 18 打赏 收藏 转发到动态 举报
写回复
用AI写文章
18 条回复
切换为时间正序
请发表友善的回复…
发表回复
微风的吻 2011-11-26
  • 打赏
  • 举报
回复
学习来的
鬼画符 2011-11-06
  • 打赏
  • 举报
回复
[Quote=引用 7 楼 stevech 的回复:]

5楼的可以实现效果,但是不推荐使用。
正确的应该是放在JFrame的layeredPane上,然后将content.setOpaque(false)。e.g.:
package tmp;

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

public class BgFrame extends ……
[/Quote]
7楼的方法,怎样让JFrame自适应背景图片的大小!
jiyuwangqi 2011-06-21
  • 打赏
  • 举报
回复
这个jframe有没有完整的章节啊?给个网址吧!
atvhghnhtb 2011-05-25
  • 打赏
  • 举报
回复
[Quote=引用 13 楼 dingdingbudong 的回复:]

定义面板
JPanel panel=new JPanel();
定义标签
JLabel label=new JLabel();
label.setIcon(new ImageIcon("图片路径"));
panel.add(label);
[/Quote]
大哥JLabel上面不能再放其他容器了,怎么做背景图片呢?
atvhghnhtb 2011-05-25
  • 打赏
  • 举报
回复
学习了。。。
dingdingbudong 2008-05-11
  • 打赏
  • 举报
回复
定义面板
JPanel panel=new JPanel();
定义标签
JLabel label=new JLabel();
label.setIcon(new ImageIcon("图片路径"));
panel.add(label);
binlan2008 2008-04-11
  • 打赏
  • 举报
回复
谢谢各位大虾们~小弟第一天来,收获不小`
vitas158 2008-01-15
  • 打赏
  • 举报
回复
8楼的,讲的蛮好! 推荐相对路径是明知的选择!!
tomiehu 2008-01-05
  • 打赏
  • 举报
回复
晕。看错题目了。其实只要把控件放好 把图片拉大就好了。
tomiehu 2008-01-05
  • 打赏
  • 举报
回复
用不着那么多代码吧 如果是放一个 label上去的话 直接这么打

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

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

例: lblPic.setIcon(new ImageIcon("099910991.jpg"));
stevech 2007-12-22
  • 打赏
  • 举报
回复
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();
}
}
wenxiang_tune 2007-12-19
  • 打赏
  • 举报
回复
5楼该的分
Inhibitory 2007-06-11
  • 打赏
  • 举报
回复
JPanel contentPane = new JPanel();
在contentPane上把背景图画上,重写JPanel 的 protected void paintComponent(...)
frame.setContentPane(contentPane);
thinkwind 2007-06-08
  • 打赏
  • 举报
回复
Jlable貌似不能再放组件了
oo00gg99 2007-06-08
  • 打赏
  • 举报
回复
icon
Frank_Law 2007-06-08
  • 打赏
  • 举报
回复
那就在最底层的panel上绘图吧
pjxaccp 2007-06-01
  • 打赏
  • 举报
回复
不是吧,这么简单的东东都没人愿意帮忙啊/

50,559

社区成员

发帖
与我相关
我的任务
社区描述
Java相关技术讨论
javaspring bootspring cloud 技术论坛(原bbs)
社区管理员
  • Java相关社区
  • 小虚竹
  • 谙忆
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧