//Import av nödvändiga klasser import javax.swing.*; import java.applet.*; import java.awt.*; import java.awt.event.*; /** * MINT - Uppgift 4b * Denna JApplet visar hantering av ljudfiler i Java. De snabbladdade * ljudfilerna finns angivna som parametrar i HTML-koden och läses in * med metoden getAudioClip(). * * @author Blanca Larkeson */ public class SoundApplet extends JApplet implements ActionListener { //parametrar som ingår i appleten private JPanel topPanel, bottomPanel; private JButton button1, button2, button3, quitbutton; private Cursor c; private ImageIcon img; private JLabel backgroundImage; private AudioClip[] ljud; //Initiering av appleten och placering av komponenter public void init() { setSize(350, 250); getContentPane().setBackground(new Color(0, 0, 0)); getContentPane().setLayout(new BorderLayout()); //placering av bakgrundsbilden i mitten img = new ImageIcon(getImage(getCodeBase(), "music.jpg" )); backgroundImage = new JLabel(img); getContentPane().add(backgroundImage, BorderLayout.CENTER); //placering av fil-knappar högst upp topPanel = new JPanel(); topPanel.setBackground(new Color(0, 0, 0)); getContentPane().add(topPanel, BorderLayout.NORTH); button1 = new JButton(" Ljud.au "); button1.setBackground(new Color(153, 255, 102)); c = Cursor.getPredefinedCursor(Cursor.HAND_CURSOR); button1.setCursor(c); button1.addActionListener(this); topPanel.add(button1); button2 = new JButton(" Ljud.wav "); button2.setBackground(new Color(153, 255, 102)); button2.setCursor(c); button2.addActionListener(this); topPanel.add(button2); button3 = new JButton(" Ljud.mid "); button3.setBackground(new Color(153, 255, 102)); button3.setCursor(c); button3.addActionListener(this); topPanel.add(button3); //placering av stopp-knappen längst ner bottomPanel = new JPanel(); bottomPanel.setBackground(new Color(0, 0, 0)); getContentPane().add(bottomPanel, BorderLayout.SOUTH); quitbutton = new JButton(" Stoppa uppspelning "); quitbutton.setBackground(new Color(204, 051, 204)); quitbutton.setCursor(c); quitbutton.addActionListener(this); bottomPanel.add(quitbutton); //inhämtning av ljudfiler ljud = new AudioClip[3]; ljud[0]= getAudioClip(getDocumentBase(),getParameter("ljud1")); ljud[1]= getAudioClip(getDocumentBase(),getParameter("ljud2")); ljud[2]= getAudioClip(getDocumentBase(),getParameter("ljud3")); } //Metod som lyssnar till knapphändelser public void actionPerformed(ActionEvent event) { Object source = event.getSource(); //au-knapp - loppar au-filen if (source == button1) { ljud[0].loop(); return; } //wav-knapp - loppar wav-filen if (source == button2) { ljud[1].loop(); return; } //mid-knapp - loppar mid-filen if (source == button3) { ljud[2].loop(); return; } //stopp-knapp - stoppar samtliga uppspelningar if (source == quitbutton) { for (int x=0; x