JPanel 背景图片不能显示 请大虾帮忙看下

packagecrow;importjavax.swing.*;importjava.awt.*;importjava.net.*;publicclassrt{JFram... package crow;
import javax.swing.*;
import java.awt.*;
import java.net.*;
public class rt {
JFrame f;
Container c;
public rt(){
f=new JFrame("背景");
f.setSize(400,300);
c=f.getContentPane();
c.setLayout(new BorderLayout());
newjpanl p=new newjpanl();
c.add(p,BorderLayout.SOUTH);
p.add(new JTextField(10));
f.show();
f.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
}
public static void main(String args[]){
new rt();

}

}
class newjpanl extends JPanel{
public void paintComponent(Graphics g){
int x=0,y=0;
java.net.URL url=getClass().getResource("/image/123.gif");
ImageIcon icon=new ImageIcon(url);
g.drawImage(icon.getImage(), x, y, getSize().width, getSize().height, this);
while(true )
{
g.drawImage(icon.getImage(), x, y, this);
if(x>getSize().width&&y>getSize().height) break;
if(x>getSize().width){x=0;y+=icon.getIconHeight();}
else x+=icon.getIconHeight();
}
}
}
展开
 我来答
2008windflower
2010-04-19 · 超过18用户采纳过TA的回答
知道答主
回答量:30
采纳率:0%
帮助的人:50.4万
展开全部

可以显示出来的呀,关键是你的需求是什么,测试过了,背景图片是可以显示出来的。

1)如果是图片没有显示出来,那么你可以检查下图片的位置放对了没,也就是路径对不对;

2)因为panel是用的BorderLayout.south,所以出来的效果在窗体的下方小部分区域。

图片上便是程序运行的截图,可以看看是否是你要的结果。

juanfei4211
2012-11-04
知道答主
回答量:61
采纳率:0%
帮助的人:12.4万
展开全部
c.add(p,BorderLayout.SOUTH);中的SOUTH改成CENTER就好了
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式