我有30個ImageIcons,我已經在ImageIcon數組中聲明。我已經使用FOR循環聲明瞭它們全部。唯一的問題是,當我嘗試到的ImageIcon添加到JLabel和顯示的JPanel在屏幕上,它並沒有work.Here是我的代碼:Java - ImageIcon無法在FOR循環中工作
package screens;
import javax.swing.*;
import java.awt.*;
public class gameScreen extends JPanel {
private static final long serialVersionUID = 1L;
// -------------VARIABLES---------------//
Image wallpaper = (Image)Toolkit.getDefaultToolkit().getImage(getClass().getResource("images/wallpaper.jpg"));
ImageIcon[] teamsImg = new ImageIcon[30];
public gameScreen() {
for(int i = 0;i>30;i++){
teamsImg[i] = new ImageIcon(Toolkit.getDefaultToolkit().getImage(
getClass().getResource("images/img.png")));
}
JLabel label = new JLabel(teamsImg[27]);
add(label);
}
// -------------PAINT FUNCTION----------//
public void paintComponent(Graphics g) {
g.drawImage(wallpaper,0,0,null);
}
}
請總是打電話給'super.paintXxx',油漆方法做很多重要的工作,你不應該忽視,除非你有非常非常非常好的理由。 ps我懷疑這是你的問題,但是這隻會讓我很煩惱:P – MadProgrammer
對不起,對不起 – basketballhead24
你的意思是「它不工作」 - 你是否有錯誤,或者只是沒有任何可見的東西?圖像是否存在?他們真的被加載?你爲什麼要加載相同的圖像30次,然後只使用一次? 'gameScreen'實例是否爲非零大小?哦,類名應該以大寫字母開頭。 – GreyBeardedGeek