正在阅读:跟我学Java Swing之游戏设计(2)跟我学Java Swing之游戏设计(2)

2005-10-14 10:46 出处: 作者:张剑 责任编辑:xietaoming

  在Swing中使用图片

  目前我们已经解决了用户操作的问题。为了让界面美观起来,我们需要使用图片来代替文字。有时间和耐心的朋友可以自己做个性图片,只是要注意保持每张图片大小一致,否则就太难看啦。想省事的话也可以直接使用下载包中提供的图片。

  在Swing中,可以使用setIcon(Image image)方法来为JButton设置图片,其中的参数image就是我们要设置的图片对象,这个对象有多种方法可以得到:

  ·使用Toolkit类来获得:
    image = Toolkit.getDefaultToolkit().getImage(url);
  ·使用ImageIcon类的getImage()方法来获得:
    image = new ImageIcon(getClass().getResource(filename)).getImage();

  我们这里选用第一种方法。为了方便今后再次获得Image对象,我们可以将此写为一个函数:

Image getImage(String filename){
  URLClassLoader urlLoader = (URLClassLoader) this.getClass().getClassLoader();
  URL url = null;
  Image image = null;
  url = urlLoader.findResource(filename);
  image = Toolkit.getDefaultToolkit().getImage(url);
  return image;
}

  有了这个函数之后,以后再要用到图片就方便多了,不是吗?

  图片现在已经有了,那么我们就可以将源代码包中Map.Java中的地图信息用图片的形式表现出来了。由于此段代码是关于游戏的算法代码,因此不再列举代码,在这里大致解释一下具体是怎么做的吧!在Map.Java中,我们使用了二维数组map[][]来保存图片信息,同时,我们也使用了一维数组images[]来保存每一个图片对象,map中的每一个元素都有一个值,这个值不仅表明了在游戏界面中按钮对应的值,也表明了这个按钮使用images[]数组中图片的编号,程序运行界面便漂亮许多。

  小结

  今天我们介绍了Swing中JButton控件。对于大多数Swing控件来说,JButton的用法一样可以照搬过去。别小看这个JButton,当你能够很好地掌握它的时候,你的Swing功底就已经提升一个台阶了。此外,我们也学会了在Java中加载图片文件的两种方法。最后,我们还将以上的两部分内容结合在一起创造出了漂亮的游戏界面。虽然我没有在这里写出完整的代码,但相信大家参考我的源程序,经过自己的努力,一定能够达到目标。如果遇到解决不了的问题,可以通过leftmoon@163.com信箱与我联系。

  不知道大家对今天的内容感觉到满意吗?精彩还在后面,大家要继续光顾我们的咖啡馆哦!

键盘也能翻页,试试“← →”键

关注我们

最新资讯离线随时看 聊天吐槽赢奖品