A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 张庚 中级黑马   /  2013-2-6 20:31  /  1605 人查看  /  1 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

下面这个程序,我把JPanel的布局设置为null,然后在paint那里画了一张背景图,可是我添加的JLabel到这个JPanel里面却看不到,麻烦高人帮我看看是怎么一回事
import java.awt.Dimension;
import java.awt.Graphics;
import java.awt.image.BufferedImage;
import java.io.File;
import java.io.IOException;
import javax.imageio.ImageIO;
import javax.swing.ImageIcon;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JPanel;
@SuppressWarnings("serial")
public class ChessTest extends JFrame {
        public ChessTest() {         
                MyPanel p = new MyPanel();  
                p.setPreferredSize(new Dimension(558, 620));  
                JLabel l = new JLabel();  
                l.setIcon(new ImageIcon(System.getProperty("user.dir") + "/chessimg/红车.png"));
                l.setBounds(100, 100, 55, 55);  
                p.add(l);  add(p);  pack();  
                setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);  
                setVisible(true);
        }  
        public static void main(String[] args) {  
                        new ChessTest();
        }
}
@SuppressWarnings("serial")
class MyPanel extends JPanel {
        public MyPanel() {  
          setLayout(null);
        }
        @Override public void paint(Graphics g) {  
          super.paint(g);  
          BufferedImage img = null;  
                try  {  
                         img = ImageIO.read(new File(System.getProperty("user.dir") + "/chessimg/board.png"));  
                }  
                catch (IOException e)  {   
                // TODO Auto-generated catch block   
                  e.printStackTrace();  
                }  
                g.drawImage(img, 0, 0, 558, 620, null);
}}

就算标签里有内容也看不到被图片遮住,图片不是被画在最下面的,怎么遮住组件呢

评分

参与人数 1技术分 +1 收起 理由
金鑫 + 1

查看全部评分

1 个回复

倒序浏览
这个问题  那个帮帮忙啊
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马