Java 自己重写一个jpanel 实现添加背景图片问题
我重新写了一个类继承Jpanel来实现添加背景图片功能,然后在上面添加一个jlabel,每次更新它的显示内容,发现都是重复叠加一起显示的,怎么回事?是继承Jpanel的时...
我重新写了一个类继承Jpanel 来实现添加背景图片功能,然后在上面添加一个jlabel,每次更新它的显示内容,发现都是重复叠加一起显示的,怎么回事?是继承Jpanel的时候里面重写的方法不对吗?
展开
展开全部
可能你画背景图的时机不正确,你得知道原来的 JLabel 是什么时候把 text 喷涂到 Graphics2D 上面的,在它相同的时候去做这件事情。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
你可以把布局设为null,,手动添加组件的坐标试试.
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
应该是布局的问题.,你可以把布局设为null,,手动添加组件的坐标试试.
你把代码帖出来看看
你把代码帖出来看看
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
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);
}
}
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);
}
}
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
是坐标没有定好,还是布局没有定好?
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询