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



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

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 上尝试过这个,但没有显示结果。输出屏幕仅显示背景图像。请帮帮我解决这个问题。问候。

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

基本代码如下所示:

JLabel background = new JLabel(....);
background.setLayout( new FlowLayout() );
JLabel foreground = new JLabel(...);
background.add( foreground );
frame.add(background, BorderLayout.CENTER);
frame.pack();
frame.setVisible( true );

相关内容

  • 没有找到相关文章

最新更新