[问题] 新手Applet drawImage问题

楼主: jc91027557 (永和慈世平)   2015-04-06 12:49:28
最近被老师要求用Applet实作一些东西
所以虽然Applet已经不是主流了但是因为这要求还是要用Applet
我把问题大致"简化"成跟猫有关的程式如下
我用一个class当作猫的资料
Class cat{
Public String name;
Public Image img;
Public int year;
Public int kg;
}
因为有很多猫所以我有用一个全域的ArrayList<cat> catInfo;
来存这些猫的资料
我会用一个输入框TextField让使用者输入猫的数量
按下Button就会呼叫一个做初始化的initcat()把数量跟catInfo传进去
public void initcat(int num, ArrayList<cat> al){
for(int i = 0; i < num; i++){
cat c = new cat();
c.name = "";
c.img = cat1; //就是某张猫咪图
*插入点1
//因为需要我这边有在init其他资讯
//就假设我把kg和year包在另一个function
initcat2(c.kg,c.year);
*插入点2
al.add(c);
}
}
然后在paint里面我想把猫的图画出来
public void paint(Graphics g){
for(int i = 0; i < catInfo.size(); i++){
g.drawImage(catInfo.get(i).img, x, y, this); //感谢pttworld大提醒
//确不会在画面上有图出现
}
}
大致上我的问题简化如上
/////////
我自己的猜测是跟this之类的观念有关
或是在我呼叫function中出了问题
因为我试着把kg或year要印出来也没办法
而且在插入点1和2就有不一样的结果
我目前尝试
确定在initcat内的c是有读到图
在initcat()内有尝试
在插入点1分别用
g.drawImage(c.img,x,y,this);
g.drawImage(al.get(0).img,x,y,this);
都可以顺利画出来
但是在插入点2加入这两行就都没有反应
觉得问题就出在里面呼叫function那我使用不当
但是爬文Google也找不到相关的问题
所以上来板上问大家><
(小弟原本习惯是写C 最近才刚接触Java一些观念还不太熟)

Links booklink

Contact Us: admin [ a t ] ucptt.com