你確定這:
if (additionals[0] != 0){
rightPanel.add(new JLabel(new ImageIcon("IMAGES/ram"+additionals[0]+"gb.gif")));
count++;
}
for(int x = 1; x<=7; x++){
if (additionals[x] != 0){
rightPanel.add(new JLabel(new ImageIcon("IMAGES/image"+x+".gif")));
count++;
}
}
應該不是真的是這樣?
if (additionals[0] != 0){
rightPanel.add(new JLabel(new ImageIcon("IMAGES/ram"+additionals[0]+"gb.gif")));
count++;
}
for(int x = 1; x<=7; x++){
if (additionals[x] != 0){
rightPanel.add(new JLabel(new ImageIcon("IMAGES/image"+ additionals[x]+".gif")));
count++;
}
}
?
這會讓你的代碼看起來更對稱。否則,請在違規行之前使用要用於使ImageIcon確保其正確的字符串執行printlns。
例如:
for(int x = 1; x<=7; x++){
if (additionals[x] != 0){
String imagePath = "IMAGES/image"+x+".gif";
System.out.println("imagePath = " + imagePath);
rightPanel.add(new JLabel(new ImageIcon(imagePath)));
count++;
}
}
,然後比較與該文件名和路徑輸出字符串。更好的方法是在嘗試使用它創建一個新的ImageIcon之前創建一個新的File並輸出其完整路徑。
警告:代碼尚未經過測試。
您是否100%確定您正在尋找圖像的正確位置?如果你運行這一行:'System.out.println(System.getProperty(「user.dir」));'返回什麼?您的IMAGES目錄是否在相對於用戶目錄的正確位置(從上面給出的代碼行輸出的路徑字符串)?例如,如果它返回'C:\ Users \ Foo \ Documents \ workspace \ bar',那麼IMAGES應該在:'C:\ Users \ Foo \ Documents \ workspace \ bar \ IMAGES' –
是的,我確信我是看在正確的文件夾,就像我說我有其他的行,參考圖像從相同的文件夾,並使用相同的路徑只是「圖像/文件名」+ aValue +「。gif」不超過代碼上的幾行和eblow它沒有問題 – Nate
您的pastebin代碼與上面發佈的代碼不同。哪個是對的?你是否收到任何錯誤訊息? –