2015-02-06 58 views
0

好的,我的問題如下:我有一個像圖像庫一樣的小程序。它在eclipse中工作得很好,但是當我將它添加到我的網頁並運行它時,圖像將不會顯示出來,只顯示小程序的其餘部分。包含圖像的Applet在瀏覽器中運行時不會顯示它們

有沒有人有任何想法如何解決?

這是我如何添加它在我的HTML:

<applet code="Sliki.class" width="600" height="330"> 
    <param name="image" value="0.jpg"> 
    <param name="image" value="1.jpg"> 
    <param name.... (rest rest of the photos)..... 
</applet> 

這裏是我的Java代碼:

import javax.swing.*; 
import javax.swing.event.*; 

import java.awt.*; 
import java.util.*; 
import java.io.*; 

import javax.imageio.ImageIO; 

public class Sliki extends JApplet implements ListSelectionListener { 
JFrame frmMain; 
JList lstBooks; 
JScrollPane scrollBooks; 
JLabel lblImage; 
ArrayList<String> books; 
Image image; 

public void init(){ 

    books = new ArrayList<String>(); 
    books.add("Razer Gaming PC - NZXT H440"); 
    books.add("Razer Gaming Laptop"); 
    books.add("Razer Mouse"); 

    books.add("iPhone 5s"); 
    books.add("Samsung Galaxy s4"); 
    books.add("iPhone 6s"); 

    books.add("The Alchemist"); 
    books.add("The Secret"); 
    books.add("The Power"); 

    books.add("Електрична гитара"); 
    books.add("Бас гитара"); 
    books.add("Флејта"); 

    books.add("21 Jump Street"); 
    books.add("Pineapple Express"); 
    books.add("Inception"); 

    books.add("No Limits"); 
    books.add("Nevermind"); 
    books.add("Speedfreak"); 

    books.add("Playstation 3"); 
    books.add("Starcraft 2"); 
    books.add("Warcraft 3"); 

    books.add("Superman"); 
    books.add("Spiderman"); 
    books.add("Batman"); 

    books.add("Dr. Martens"); 
    books.add("Nike Runners"); 
    books.add("Converse Sneakers"); 

    //frmMain = new JFrame(); 
    JPanel p1 = new JPanel(new GridLayout(0,2)); 
    //frmMain.setSize(600,330); 
    //frmMain.setAlwaysOnTop(true); 
    //frmMain.setLocationRelativeTo(null); 
    //frmMain.setResizable(false); 
    //frmMain.setLayout(new GridLayout()); 
    lstBooks = new JList(books.toArray()); 
    lstBooks.setSelectionMode(ListSelectionModel.SINGLE_SELECTION); 
    lstBooks.addListSelectionListener(this); 
    lstBooks.setVisibleRowCount(10); 
    scrollBooks = new JScrollPane(lstBooks); 
    p1.add(scrollBooks); 
    //frmMain.getContentPane().add(scrollBooks); 
    lblImage = new JLabel(); 
    p1.add(lblImage); 
    add(p1, BorderLayout.CENTER); 
    //frmMain.getContentPane().add(lblImage); 
    //frmMain.setVisible(true); 
    } 



public void valueChanged(ListSelectionEvent evt) { 
    if (evt.getValueIsAdjusting() == false) { 
    if (lstBooks.getSelectedIndex() != -1) { 
    image = null; 

    if(lstBooks.getSelectedIndex()==0) 
     image = getImage(getCodeBase(), "0.jpg"); 
    else if(lstBooks.getSelectedIndex()==1) 
     image = getImage(getCodeBase(), "1.jpg"); 
    else if(lstBooks.getSelectedIndex()==2) 
     image = getImage(getCodeBase(), "2.jpg"); 

    else if(lstBooks.getSelectedIndex()==3) 
     image = getImage(getCodeBase(), "3.jpg"); 
    else if(lstBooks.getSelectedIndex()==4) 
     image = getImage(getCodeBase(), "4.jpg"); 
    else if(lstBooks.getSelectedIndex()==5) 
     image = getImage(getCodeBase(), "5.jpg"); 

    else if(lstBooks.getSelectedIndex()==6) 
     image = getImage(getCodeBase(), "6.jpg"); 
    else if(lstBooks.getSelectedIndex()==7) 
     image = getImage(getCodeBase(), "7.jpg"); 
    else if(lstBooks.getSelectedIndex()==8) 
     image = getImage(getCodeBase(), "8.jpg"); 

    else if(lstBooks.getSelectedIndex()==9) 
     image = getImage(getCodeBase(), "9.jpg"); 
    else if(lstBooks.getSelectedIndex()==10) 
     image = getImage(getCodeBase(), "10.jpg"); 
    else if(lstBooks.getSelectedIndex()==11) 
     image = getImage(getCodeBase(), "11.jpg"); 

    else if(lstBooks.getSelectedIndex()==12) 
     image = getImage(getCodeBase(), "12.jpg"); 
    else if(lstBooks.getSelectedIndex()==13) 
     image = getImage(getCodeBase(), "13.jpg"); 
    else if(lstBooks.getSelectedIndex()==14) 
     image = getImage(getCodeBase(), "14.jpg"); 

    else if(lstBooks.getSelectedIndex()==15) 
     image = getImage(getCodeBase(), "15.jpg"); 
    else if(lstBooks.getSelectedIndex()==16) 
     image = getImage(getCodeBase(), "16.jpg"); 
    else if(lstBooks.getSelectedIndex()==17) 
     image = getImage(getCodeBase(), "17.jpg"); 

    else if(lstBooks.getSelectedIndex()==18) 
     image = getImage(getCodeBase(), "18.jpg"); 
    else if(lstBooks.getSelectedIndex()==19) 
     image = getImage(getCodeBase(), "19.jpg"); 
    else if(lstBooks.getSelectedIndex()==20) 
     image = getImage(getCodeBase(), "20.jpg"); 

    else if(lstBooks.getSelectedIndex()==21) 
     image = getImage(getCodeBase(), "21.jpg"); 
    else if(lstBooks.getSelectedIndex()==22) 
     image = getImage(getCodeBase(), "22.jpg"); 
    else if(lstBooks.getSelectedIndex()==23) 
     image = getImage(getCodeBase(), "23.jpg"); 

    else if(lstBooks.getSelectedIndex()==24) 
     image = getImage(getCodeBase(), "24.jpg"); 
    else if(lstBooks.getSelectedIndex()==25) 
     image = getImage(getCodeBase(), "25.jpg"); 
    else if(lstBooks.getSelectedIndex()==26) 
     image = getImage(getCodeBase(), "26.jpg"); 
    image = image.getScaledInstance(297,298, Image.SCALE_SMOOTH); 

    Icon ic = new ImageIcon(image); 
    lblImage.setIcon(ic); 

    } 
    } 
    } 
    } 
+0

圖像是否與HTML和類位於同一目錄中?順便說一句)''小程序參數名稱必須是唯一的!畢竟,當調用getParam(「image」)'時,你期望它返回'0.jpg'還是'1.jpg'? 2)爲什麼編寫一個小程序?如果是由於老師指定它,請將它們轉介給[爲什麼CS教師應該停止**教Java applets](http://programmers.blogoverflow.com/2013/05/why-cs-teachers-should -stop教學-java的小應用程序/)。 – 2015-02-06 23:30:26

+0

注意到你在'26分鐘前'被SO網站'看到',我在想你爲什麼沒有回答我的問題!更重要的是第一個問題,但最好是兩個問題.. – 2015-02-08 01:11:45

回答

3
  1. 確保將圖像添加到您的罐子文件。
  2. 我自己,我通常使用ImageIO.read(URL url)ImageIO.read(InputStream inputStream)來獲取我在這種情況下的圖像。
  3. 難道所有這些if/else塊都被簡化爲一行嗎? "" + lstBooks.getSelectedIndex() + ".jpg"
+0

你是對的3)。但我真的不明白你的2)。我在哪裏把代碼?如果你有一分鐘​​可以修復我的代碼並粘貼回去?在此先感謝:),我真的很感激它。 – mouseepaad 2015-02-06 13:51:10

+0

好的,我嘗試使用ImageIO.read ....但它仍然不工作...也許我的HTML代碼是錯誤的? – mouseepaad 2015-02-06 14:44:29

+0

@mouseepaad圖像實際存儲在哪裏? – MadProgrammer 2015-02-07 07:43:36

相關問題