1. This site uses cookies. By continuing to use this site, you are agreeing to our use of cookies. Learn More.

Image not showing, Audio not playing

Discussion in 'Java' started by vinheim3, Aug 17, 2010.

  1. vinheim3

    vinheim3 New Member

    Joined:
    Aug 17, 2010
    Messages:
    1
    Likes Received:
    0
    Trophy Points:
    0
    Hey everyone, I'm vinheim and I'm new to Java. Something about this code seems to baffle me. I can't find exactly why the program isn't showing the .gif file or playing the .wav file. The package is called exepartone:

    Code:
    package exepartone;
    import java.applet.*;
    import java.awt.*;
    import java.awt.event.*;
    import javax.swing.*;
    public class assignment extends JApplet implements Runnable, ActionListener
    {
        int xPos, yPos;
        JButton startStop;
        Thread runner;
        boolean isRunning = true;
        ImageIcon birdIcon;
        private AudioClip sound1;
        JButton playSound, loopSound, stopSound;
        public JComboBox chooseOption;
        int val = 0;
        public void init()
        {
            Dimension size = getContentPane().getSize();
            Container contentPane = new AnimationPane();
            setContentPane(contentPane);
            contentPane.setBackground(Color.white);
            contentPane.setSize(size);
     xPos = contentPane.getSize().width/2;
     yPos = contentPane.getSize().height/2;
     startStop = new JButton("Stop");
     contentPane.add(startStop);
     startStop.addActionListener(this);
     Container c = getContentPane();
     c.setLayout(new FlowLayout());
            String choices[] = {"Bird", "Leak"};
            chooseOption = new JComboBox(choices);
            chooseOption.addItemListener(new ItemListener()
            {
                public void itemStateChanged(ItemEvent e)
                {
                    val = chooseOption.getSelectedIndex() == 0 ? 0 : 1;
             sound1.stop();
                }
            });
            c.add(chooseOption);
     ButtonHandler handler = new ButtonHandler();
     playSound = new JButton("Play");
     playSound.addActionListener(handler);
     c.add(playSound);
     loopSound = new JButton("Loop");
     loopSound.addActionListener(handler);
     c.add(loopSound);
     stopSound = new JButton("Stop");
     stopSound.addActionListener(handler);
     c.add(stopSound);
            sound1 = getAudioClip(getDocumentBase(), "leak.wav");
            birdIcon = new ImageIcon(getImage(getCodeBase(), "bird.gif"));
        }
        public void start()
        {
            if (runner == null)
            {
                runner = new Thread(this);
                runner.start();
            }
        }
        public void stop()
        {
            runner = null;
        }
        public void run()
        {
            while (isRunning)
            {
                try
                {
                    Thread.sleep(10);
                }
                catch (InterruptedException e) { }
         xPos += changeBy();
         yPos += changeBy();
         repaint();
            }
        }
        int changeBy()
        {
            double myVal;
            if (java.lang.Math.random() < .5)
            {
                myVal = java.lang.Math.random() * -10;
            }
            else
            {
                myVal = java.lang.Math.random() * 10;
            }
            return (int) myVal;
        }
        public void actionPerformed(ActionEvent e)
        {
            if (isRunning)
            {
                isRunning = false;
                startStop.setText("Start");
                stop();
            }
            else
            {
                isRunning = true;
                startStop.setText("Stop");
                start();
            }
        }
        class AnimationPane extends JPanel
        {
            public void paintComponent(Graphics g)
            {
                super.paintComponent(g);
                if (val == 0)
                    birdIcon.paintIcon(this, g, xPos, yPos);
            }
        }
        private class ButtonHandler implements ActionListener
        {
            public void actionPerformed(ActionEvent e)
     {
                if (val == 1)
                {
                    if (e.getSource() == playSound)
                        sound1.play();
      else if (e.getSource() == loopSound)
                        sound1.loop();
      else if (e.getSource() == stopSound)
                        sound1.stop();
                }
     }
        }
    }
     

Share This Page