MusicApplet.java
上传用户:yunshuzx
上传日期:2022-04-09
资源大小:3k
文件大小:2k
源码类别:

Applet

开发平台:

Java

  1. import java.io.*;
  2. import java.awt.*;
  3. import java.applet.*;
  4. import java.awt.event.*;
  5. public class MusicApplet extends Applet implements ActionListener{
  6. Button b_play, b_loop, b_stop;
  7. TextArea ta;
  8. List list;
  9. //audio
  10. AudioClip audioClip;
  11. public void init() {
  12. //html
  13. String filenames = getParameter("filelist");
  14. String fileList[] = filenames.split(" ");
  15. //下层panel
  16. b_play = new Button("Play");
  17. b_play.addActionListener(this);
  18. b_loop = new Button("Loop");
  19. b_loop.addActionListener(this);
  20. b_stop = new Button("Stop");
  21. b_stop.addActionListener(this);
  22. Panel panel_button = new Panel();
  23. panel_button.setLayout(new FlowLayout());
  24. panel_button.add(b_play);
  25. panel_button.add(b_loop);
  26. panel_button.add(b_stop);
  27. //中间panel
  28. ta = new TextArea();
  29. list = new List(5, false);
  30. list.addActionListener(this);
  31. for (int i = 0; i < fileList.length; i++) {
  32. list.add(fileList[i]);
  33. }
  34. Panel panel_text = new Panel();
  35. panel_text.setLayout(new GridLayout(1, 2));
  36. panel_text.add(list);
  37. panel_text.add(ta);
  38. //applet
  39. setLayout(new BorderLayout());
  40. add(panel_button, "South");
  41. add(panel_text, "Center");
  42. audioClip=getAudioClip(getCodeBase());
  43. }
  44. public void actionPerformed(ActionEvent e) {
  45. Object obj = e.getSource();
  46. if (obj == list) {
  47. String s = list.getSelectedItem();
  48. File file = new File(s);
  49. if (file.exists()) {
  50. audioClip=getAudioClip(getCodeBase(), s);
  51. ta.setText(s + " is opened successfully");
  52. audioClip.loop();
  53. }
  54. else {
  55. ta.setText(s + " doesn't exist, please choose another one");
  56. }
  57. }
  58. else if (obj == b_play) {
  59. audioClip.play();
  60. }
  61. else if (obj == b_loop) {
  62. audioClip.loop();
  63. }
  64. else if (obj == b_stop) {
  65. audioClip.stop();
  66. }
  67. }
  68. }