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