Java 自己重写一个jpanel 实现添加背景图片问题

我重新写了一个类继承Jpanel来实现添加背景图片功能,然后在上面添加一个jlabel,每次更新它的显示内容,发现都是重复叠加一起显示的,怎么回事?是继承Jpanel的时... 我重新写了一个类继承Jpanel 来实现添加背景图片功能,然后在上面添加一个jlabel,每次更新它的显示内容,发现都是重复叠加一起显示的,怎么回事?是继承Jpanel的时候里面重写的方法不对吗? 展开
 我来答
jamxval
2014-04-08 · TA获得超过6822个赞
知道大有可为答主
回答量:4308
采纳率:82%
帮助的人:1431万
展开全部
可能你画背景图的时机不正确,你得知道原来的 JLabel 是什么时候把 text 喷涂到 Graphics2D 上面的,在它相同的时候去做这件事情。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
华智阳9Q
2014-04-05 · 超过31用户采纳过TA的回答
知道答主
回答量:45
采纳率:0%
帮助的人:56.3万
展开全部
你可以把布局设为null,,手动添加组件的坐标试试.
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
shiyely
2012-01-12
知道答主
回答量:53
采纳率:0%
帮助的人:27.2万
展开全部
应该是布局的问题.,你可以把布局设为null,,手动添加组件的坐标试试.

你把代码帖出来看看
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
百度网友6c5eac102
2014-04-05 · TA获得超过1101个赞
知道小有建树答主
回答量:464
采纳率:0%
帮助的人:583万
展开全部
import java.awt.Graphics;

import javax.swing.ImageIcon;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JPanel;

public class MyPanel extends JPanel {

JLabel label = new JLabel("hello ,for test");

public static void main(String[] args) {
JFrame frame = new JFrame();
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.setBounds(20, 20, 600, 600);
frame.setVisible(true);

frame.add( new MyPanel()) ;
}

public MyPanel() {
this.add(label);
}

@Override
protected void paintComponent(Graphics g) {
// TODO Auto-generated method stub
super.paintComponent(g);
ImageIcon icon = new ImageIcon("src/t.jpg");
g.drawImage(icon.getImage(), 0, 0,this.getWidth(),this.getHeight(), null);
}
}
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
xiong_1986
2012-01-11 · 超过10用户采纳过TA的回答
知道答主
回答量:55
采纳率:0%
帮助的人:24.3万
展开全部
是坐标没有定好,还是布局没有定好?
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(3)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式