在现有图像图标上添加缓冲图像

时间:2016-04-23 11:51:55

标签: java swing graphics

我构建了一个游戏,其中我想在现有的背景图像图标上添加缓冲图像,我的代码是针对这个游戏:

public class Hunter extends JFrame {
JPanel panel = new JPanel();
JLabel label = new JLabel(new ImageIcon("F:\\workspace\\HunterGame\\src\\huntergame\\background.jpg"));
BufferedImage image;
Graphics g;
Hunter(){
    setSize(961, 694);
    setResizable(false);
    setTitle("Hunter");
    setVisible(true);
    setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
    Dimension dim = Toolkit.getDefaultToolkit().getScreenSize();
    this.setLocation(dim.width/2-this.getSize().width/2, dim.height/2-this.getSize().height/2);
    panel.add(label);
    add(panel);

    addMouseListener(new MouseListener() {

        @Override
        public void mouseClicked(MouseEvent me) {
        }

        @Override
        public void mousePressed(MouseEvent me) {
            int x = me.getX();
            int y = me.getY();

            if((x>11&&x<69)&&(y>26&&y<69)){
                dispose();
                new menu();
            }
        }

        @Override
        public void mouseReleased(MouseEvent me) {
        }

        @Override
        public void mouseEntered(MouseEvent me) {
        }

        @Override
        public void mouseExited(MouseEvent me) {
        }
    });



   try {                
      image = ImageIO.read(new File("F:\\workspace\\HunterGame\\src\\huntergame\\hunter.png"));
   } catch (IOException ex) {
        System.out.println("Exception Occurs");
   }
   JLabel label1 = new JLabel(new ImageIcon(image));
   label.add(label1);

   revalidate();
}
}

我也尝试了Graphics.drawImage()方法,但这并没有奏效。 我的背景图像在JLabel上,标签在框架上,第二个图像label1在标签上,但我也在JPanel上尝试过,没有显示结果。 输出屏幕仅显示背景图像。 请帮我解决这个问题。 问候。

1 个答案:

答案 0 :(得分:0)

如果要在背景标签上添加第二个标签,则需要设置标签的布局管理器。

基本代码如下:

<BuildEntry xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" Name="blablaName" Version="r26" Author="blablaAuthor" Website="blablaWebsite">