我不太了解如何为模型和视图划分类。
假设我有一个Cat类,它具有一些参数,例如颜色,年龄,在地图上的位置以及其他一些东西。我认为创建自定义绘画的最佳方法是重写paintComponent
方法。但是,Cat类应该在模型中,并且它不应该对其在视图中呈现的方式一无所知。
那么如何给猫涂漆呢?假设它是由一个图像数组表示的,并且模型具有可变的方向,可以包含一个从0到3的整数,该整数与数组中的图片有关。画猫应该怎么做?它是否应该在内部某处:
drawImage(model.getCat().getArray( model.getCat().getFrame() )) ?
假设Cat类由图像数组表示,并且模型的方向可变,可以包含一个0到3的整数,该整数与数组中的图片有关。
在表示扩展JPanel的绘图面板的类中,保留一个Image。
您必须将Cat的一个或多个实例传递给构造函数中的绘图面板类。
在绘图面板类中,您将有一个setImage方法,其中包含以下行:
this.image = cat.getImage(imageNumber);
在您覆盖的paintComponent方法中,您将具有以下行
drawImage(image, 0, 0, this);
看一下我的文章Java Swing中的2048游戏,看看如何在游戏中创建和使用模型,视图和控制器。
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句