【问题标题】:Java deleting an image from a panelJava 从面板中删除图像
【发布时间】:2012-02-12 16:23:32
【问题描述】:

我一直在创建大富翁游戏,在创建图形界面时,我添加了一个面板,其中为每个购买的区域绘制了图像。

到目前为止一切正常,但是当我在出售领土时尝试从面板中删除图像时,我的问题就开始了。我不知道如何实现这一点。

这是玩家1购买领土时绘制图像的代码:

if(property.Properties[i][0] == 1){
              if (y >= 390){
                  x = 140;
                  y = 40;
              }
             ImageIcon a = new ImageIcon(this.getClass().getResource("../Imagini/Headers/"  + headers[i] +".jpg"));
             icons = a.getImage();
             g.drawImage(icons, x, y, null);
             y +=25;

         }

当玩家的位置设置为0时,图像应该被删除。

我如何在出售图像时删除它?

有没有办法做到这一点?

如果不能,您能否提出一种替代方法来实现这一目标?

【问题讨论】:

  • 尝试 Graphics.fillRect() 从表面清除图像。
  • 1) ImageIcon.. 如果不需要就不要创建。对于图像,使用Image img = ImageIO.read(url); 2) g.drawImage(icons, x, y, null); 可能thisImageObserver,所以使用this 而不是null

标签: java image swing graphics


【解决方案1】:

如果您想让 Swing 管理对象并为您提供简单的删除功能,您也许可以使用布局管理器将图标放置在面板上,然后将其放置在框架的其中一个窗格上,并在内容上绘制如果您需要自定义绘图,请使用窗格。

【讨论】:

    【解决方案2】:

    将此Icon/ImageIcon 放入JLabel#setIcon(myIcon),并将此/这些JLabel(s) 放入LayoutManger 放入JPanel

    【讨论】:

      猜你喜欢
      • 2021-07-13
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多