[問題] 新手Applet drawImage問題

看板java作者時間10年前 (2015/04/06 12:49), 10年前編輯推噓0(000)
留言0則, 0人參與, 最新討論串1/2 (看更多)
最近被老師要求用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一些觀念還不太熟) -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 220.129.160.168 ※ 文章網址: https://www.ptt.cc/bbs/java/M.1428295771.A.666.html ※ 編輯: jc91027557 (220.129.160.168), 04/06/2015 13:13:49
文章代碼(AID): #1L8X1RPc (java)
文章代碼(AID): #1L8X1RPc (java)