package gui;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.util.List;
import java.util.Properties;
import java.util.ResourceBundle;
import javax.swing.Box;
import javax.swing.BoxLayout;
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JPanel;
import javax.swing.JScrollPane;
import player.Player;
import songstreams.SongStream;
import library.Library;
public class LibraryFrame extends JFrame {
/**
*
*/
private static final long serialVersionUID = 7178375824315492885L;
private SongTable libraryTable;
public LibraryFrame(Library lib, final Player player, Properties settings, ResourceBundle bundle) throws Exception {
this.libraryTable = new SongTable(new String[]{"","Artist","Title","Album","Track#","Year","URL"}, settings);
List<SongStream> songs = lib.getAllSongs();
for(SongStream song : songs)
libraryTable.addRow(song);
JScrollPane sp = new JScrollPane(libraryTable);
JPanel panel = new JPanel();
panel.setLayout(new BoxLayout(panel, BoxLayout.Y_AXIS));
panel.add(sp);
Box buttons = Box.createHorizontalBox();
final JButton play = new JButton("Play");
final JButton pause = new JButton("Pause");
final JButton stop = new JButton("Stop");
final JButton back = new JButton("Back");
final JButton skip = new JButton("Skip");
final JButton queue = new JButton("Queue");
ActionListener playListener = new ActionListener() {
@Override
public void actionPerformed(ActionEvent e) {
if(e.getSource().equals(play))
player.play();
if(e.getSource().equals(pause))
player.pause();
if(e.getSource().equals(stop))
player.stop();
if(e.getSource().equals(skip))
player.skip();
if(e.getSource().equals(back))
player.back();
if(e.getSource().equals(queue))
try {
player.queue(libraryTable.getSelectedSongs());
} catch (Exception e1) {
// TODO Auto-generated catch block
e1.printStackTrace();
}
}
};
play.addActionListener(playListener);
pause.addActionListener(playListener);
stop.addActionListener(playListener);
queue.addActionListener(playListener);
skip.addActionListener(playListener);
back.addActionListener(playListener);
buttons.add(play);
buttons.add(pause);
buttons.add(stop);
buttons.add(skip);
buttons.add(back);
buttons.add(queue);
panel.add(buttons);
setContentPane(panel);
pack();
}
}