Odtwarzacz MP3 JAVA ActionPerformed

0

Witam,

Dopiero zaczynam programowanie i mam na zadanie napisać prosty odtwarzacz MP3.

Napisałem sobie GUI i proszę o wskazówki jak napisać ActionPerformed. W tym momencie mam dwie klasy jedna Frame która rysuje GUI, druga w której jest funkcja main.

Czy do Action Listener'a utworzyć osobną klasę czy pisać to w klasie Test?
To samo pytanie odnośnie odtwarzania.

Będę wdzięczny za wszelkie uwagi dotyczące kodu/

import javax.swing.*;



import java.awt.Color;
import java.awt.Dimension;
import java.awt.FlowLayout;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.awt.event.ItemListener;
import java.awt.event.KeyEvent;


 
public class MyFrame extends JFrame implements ActionListener{
	int SPACEX = 5;
	private static final long serialVersionUID = 1L;
	protected JButton playButton, stopButton, nextButton, 
					  prevButton, pauseButton, roundButton, randomButton;
	protected JProgressBar bar;

    
	public MyFrame(){
        super("Odtwarzacz MP3");
        setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
        setSize(400, 200);
        setLocation(200,200);
        setLayout(new FlowLayout());
        setResizable(false);
        getContentPane().setBackground( Color.WHITE );
        
        //pusta przestrzeń
        add(Box.createRigidArea(new Dimension(400,5))); 
        add(Box.createRigidArea(new Dimension(SPACEX,0)));
        
        prevButton = new JButton(new ImageIcon("images/rewind.png"));
        prevButton.setBorder(BorderFactory.createEmptyBorder());
        prevButton.setContentAreaFilled(false);
        add(prevButton);
        
        add(Box.createRigidArea(new Dimension(SPACEX,0)));
        
        playButton = new JButton(new ImageIcon("images/play.png"));
        playButton.setBorder(BorderFactory.createEmptyBorder());
        playButton.setContentAreaFilled(false);
        add(playButton);
        
        add(Box.createRigidArea(new Dimension(SPACEX,0)));
        
        pauseButton = new JButton(new ImageIcon("images/pause.png"));
        pauseButton.setBorder(BorderFactory.createEmptyBorder());
        pauseButton.setContentAreaFilled(false);
        add(pauseButton);
        
        add(Box.createRigidArea(new Dimension(SPACEX,0)));
        
        stopButton = new JButton(new ImageIcon("images/stop.png"));
        stopButton.setBorder(BorderFactory.createEmptyBorder());
        stopButton.setContentAreaFilled(false);
        add(stopButton);
        
        add(Box.createRigidArea(new Dimension(SPACEX,0)));
        
        nextButton = new JButton(new ImageIcon("images/forward.png"));
        nextButton.setBorder(BorderFactory.createEmptyBorder());
        nextButton.setContentAreaFilled(false);
        add(nextButton);
        
        add(Box.createRigidArea(new Dimension(SPACEX-3,0)));
        
        randomButton = new JButton(new ImageIcon("images/random.png"));
        randomButton.setBorder(BorderFactory.createEmptyBorder());
        randomButton.setContentAreaFilled(false);
        add(randomButton);
        

        JLabel sliderLabel = new JLabel("  Głośność  ", JLabel.CENTER);
        JSlider volume = new JSlider();
        volume.setValue(100);
        volume.setPreferredSize(new Dimension(230,20));
        
        JPanel volume_panel = new JPanel();
        volume_panel.add(sliderLabel);
        volume_panel.add(volume);
        volume_panel.setBackground( Color.WHITE );
        
        add(volume_panel);
        
        roundButton = new JButton(new ImageIcon("images/round.png"));
        roundButton.setBorder(BorderFactory.createEmptyBorder());
        roundButton.setContentAreaFilled(false);
        add(roundButton);
        
        
        bar = new JProgressBar();
        bar.setValue(50);
        bar.setStringPainted(true);
        bar.setPreferredSize(new Dimension(350,20));
        bar.setString("     Tutuł odtwarzanego utworu     ");
        add(bar);
    
  
        JMenuBar menuBar;
        JMenu menu;
        JMenuItem menuItem;
        JCheckBoxMenuItem cbMenuItem;
        
        //Tworzenie paska narzędzi
        menuBar = new JMenuBar();

        //Menu Plik
        menu = new JMenu("Plik");
        menuBar.add(menu);

        menuItem = new JMenuItem("Otwórz plik");
        menuItem.setActionCommand("Open");
        menuItem.setAccelerator(KeyStroke.getKeyStroke(
                KeyEvent.VK_O, ActionEvent.CTRL_MASK));
        menuItem.addActionListener(this);
        menu.add(menuItem);
        
        menu.addSeparator();
        
        menuItem = new JMenuItem("Nowa playlista");
        menuItem.setActionCommand("New_Playlist");
        menuItem.setAccelerator(KeyStroke.getKeyStroke(
                KeyEvent.VK_N, ActionEvent.CTRL_MASK));
        menuItem.addActionListener(this);
        menu.add(menuItem);
       
        menu.addSeparator();

        menuItem = new JMenuItem("Zakończ");
        menuItem.setActionCommand("Close");
        menuItem.setAccelerator(KeyStroke.getKeyStroke(
                KeyEvent.VK_4, ActionEvent.ALT_MASK));
        menuItem.addActionListener(this);
        menu.add(menuItem);
        
        
      //Menu Odtwarzanie.
        menu = new JMenu("Odtwarzanie");
        menuBar.add(menu);
      
        menuItem = new JMenuItem("Odtwarzaj");
        menuItem.setActionCommand("Play");
        menuItem.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_Z, 0)); 
        menuItem.addActionListener(this);
        menu.add(menuItem);
        
        menuItem = new JMenuItem("Pauza");
        menuItem.setActionCommand("Pause");
        menuItem.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_X, 0)); 
        menuItem.addActionListener(this);
        menu.add(menuItem);

        menuItem = new JMenuItem("Stop");
        menuItem.setActionCommand("Stop");
        menuItem.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_C, 0)); 
        menuItem.addActionListener(this);
        menu.add(menuItem);
        
        menuItem = new JMenuItem("Następny");
        menuItem.setActionCommand("Next");
        menuItem.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_V, 0)); 
        menuItem.addActionListener(this);
        menu.add(menuItem);

        menuItem = new JMenuItem("Poprzedni");
        menuItem.setActionCommand("Prev");
        menuItem.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_B, 0)); 
        menuItem.addActionListener(this);
        menu.add(menuItem);
        
        menu.addSeparator();
        
        cbMenuItem = new JCheckBoxMenuItem("Odtwarzanie losowe");
        menuItem.setActionCommand("Random");
        menuItem.addActionListener(this);
        menu.add(cbMenuItem);

        cbMenuItem = new JCheckBoxMenuItem("Zapętlanie");
        menuItem.setActionCommand("Round");
        menuItem.addActionListener(this);
        menu.add(cbMenuItem);

        setJMenuBar(menuBar);

      
        
        setVisible(true);
    }

	public void actionPerformed(ActionEvent e) {
		
		  if(e.getActionCommand().equals("Play")) {

			  bar.setValue(100);

		  }
		  if(e.getActionCommand().equals("Close")) {

			  System.exit(0);

		  }
		}
	
	
}

import java.awt.EventQueue;



public class Test {
    public static void main(String[] args) {
        EventQueue.invokeLater(new Runnable() {
            @Override
            public void run() {
            	new MyFrame();
            	   
            }
            
        });
    }
}
0

http://stackoverflow.com/questions/6045384/playing-mp3-and-wav-in-java

może z konta odpowiem, wszystko tam wyjaśnili

1 użytkowników online, w tym zalogowanych: 0, gości: 1