java窗体如何加入背景

我使用加一个Label的方法加背景,但是背景上不能再加图片了。请问有什么别的方法加入背景(画的出来么?)。例如:我要加入一张名为background.jpg的图片在容器C... 我使用加一个Label的方法加背景,但是背景上不能再加图片了。请问有什么别的方法加入背景(画的出来么?)。
例如:我要加入一张名为background.jpg的图片在容器Container里。这个Container的布局是null,要能加入按钮和其他图片。
1楼,加Label这个方法我会,但是Label上不能再嵌套其他Label了啊。
2楼,好像没这么复杂吧,怎么画出来的问题是。
是在原有的窗体上加入背景图片,不是新建一个窗体。
展开
 我来答
杰比·优德尔
2009-09-07 · TA获得超过243个赞
知道答主
回答量:47
采纳率:0%
帮助的人:0
展开全部
这个问题,最好给你个例子,正好是通过paint(Graphics g)方法画出来的。
import java.awt.*;
import java.awt.event.WindowAdapter;
import java.awt.event.WindowEvent;
import javax.swing.*;

public class Images extends JFrame {
Image img;
Toolkit tk=Toolkit.getDefaultToolkit();
//这是个特殊方法,不需要自己调用,由系统调用
public void paint(Graphics g) {
g.drawImage(img,0,0,800,600,null);
}
//自定义窗体相关设置方法
public void setFrame() {
setLocation(300,150);
setSize(800,600);
setTitle("图片");
//反射机制,保证你的程序打包jar后能正常运行
img=tk.getImage(Images.class.getClassLoader().getResource("images/background.jpg"));
setResizable(false);
setVisible(true);
//用匿名类处理窗口关闭
addWindowListener(new WindowAdapter() {
public void windowClosing(WindowEvent e) {
System.exit(0);
}
});
//重画线程启动
new Thread(new PaintThread()).start();
}
//内部类线程
private class PaintThread implements Runnable {
public void run() {
while(true) {
//该方法会调用paint()
repaint();
try {
Thread.sleep(50);
} catch (InterruptedException e) {
e.printStackTrace();
}
}
}
}

public static void main(String[] args) {
Images tc=new Images();
tc.setFrame();
}
}
注:图片文件夹images位于放class文件的bin目录下。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
野地里的小草
2009-09-07
知道答主
回答量:8
采纳率:0%
帮助的人:0
展开全部
在Container构造函数中添加这些语句
Label l=new Label("路径+background.jpg");
l.setBounds(0,0,对象的x大小,对象的y大小);
add(l);
setLayout(null);
setVisiable(true);
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式