2014-10-01 79 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