2014-10-01 77 views
0

我想通过Java applet在浏览器中显示有关音乐作品的信息。我为id3标签使用库beaglebuddy_mp3.jar。与文件的文件夹看起来是这样的:如何通过Java Applet在浏览器中显示信息?

applet 
- index.html 
- FirstApplet.class 
- beaglebuddy_mp3.jar 

在index.html的我连一个小程序:

<applet code="FirstApplet.class" archive="beaglebuddy_mp3.jar" width="500" height="500"></applet> 

FirstApplet.class包含以下代码:

import java.applet.Applet; 
import java.awt.Graphics; 
import java.io.File; 
import java.io.IOException; 

import com.beaglebuddy.mp3.MP3; 

public class FirstApplet extends Applet{ 

public void paint(Graphics g){ 
    try { 
     MP3 mp3 = new MP3("D:\\Music\\abc.mp3"); 
     g.drawString(mp3.getBand() +" "+mp3.getTitle(), 20, 20); 
    } catch (IOException e) { 
     // TODO Auto-generated catch block 
     e.printStackTrace(); 

    } 
    } 
} 

开始索引之后.html文件对话框出现,并带有警告声明我运行应用程序需要您自担风险。然后我点击“运行”,即刻出现并消失灰色方块。在那没有什么显示。

+0

你的['start()'](http://docs.oracle.com/javase/7/docs/api/java/applet/Applet.html#start())方法在哪里?我认为你应该首先通过[Java小程序](http://docs.oracle.com/javase/tutorial/deployment/applet/)教程。 – 2014-10-01 04:48:11

+0

'MP3 mp3 = new MP3(“D:\\ Music \\ abc.mp3”);'1)应在'init()'方法中声明,每个applet的启动只能称为一次。 2)最有可能使用URL而不是表示文件路径的“String”。除非最终用户拥有同名和定位的MP3,否则它可能无法工作。 3)更好地添加标签来显示乐队和标题,而不是重写绘画。 – 2014-10-02 06:12:46

+0

1)为什么要编写一个小程序?如果是由于老师指定它,请将它们转介给[为什么CS教师应该**停止**教Java applets](http://programmers.blogoverflow.com/2013/05/why-cs-teachers-should -stop教学-java的小应用程序/)。 2)为什么使用AWT?看到[这个答案](http://stackoverflow.com/questions/6255106/java-gui-listeners-without-awt/6255978#6255978)有很多很好的理由放弃AWT使用组件有利于Swing。 3)确保将[Java控制台](http://www.java.com/en/download/help/javaconsole.xml)配置为显示。如果默认级别没有输出,请将其提高。 – 2014-10-02 06:14:24

回答

0

尝试以下操作:

import javax.swing.JApplet; 
import javax.swing.SwingUtilities; 
import javax.swing.JLabel; 
import java.io.File; 
import java.io.IOException; 
import com.beaglebuddy.mp3.MP3; 


public class FirstApplet extends JApplet { 

    public void init() { 

     try { 
      SwingUtilities.invokeAndWait(new Runnable() { 
       public void run() { 

        MP3 mp3 = new MP3("D:\\Music\\abc.mp3"); 
        JLabel label = new JLabel(mp3.getBand() +" "+mp3.getTitle()); 
        add(label); 
       } 
      }); 
     } catch (Exception e) { 
      System.err.println("createGUI didn't complete successfully"); 
     } 
    } 
} 

其次,你必须签订正式的证书,你的applet代码,以便能够在Web浏览器上运行。

+0

@Andrew Thompson写了关于输出的问题,可能这是数据没有出现告诉我如何配置的原因? PS我是Java的新手。 http://i59.tinypic.com/qn0dqs.jpg – murash 2014-10-06 05:28:21

+0

您是否使用官方证书签署了您的applet?否则,它不能在浏览器中工作。 (您也可以在java系统设置中降低安全栏) – Lonzak 2014-10-06 07:27:53