import java.awt.datatransfer.DataFlavor; import java.awt.datatransfer.Transferable; import java.awt.datatransfer.UnsupportedFlavorException; import java.awt.dnd.DnDConstants; import java.awt.dnd.DropTarget; import java.awt.dnd.DropTargetContext; import java.awt.dnd.DropTargetEvent; import java.awt.dnd.DropTargetDragEvent; import java.awt.dnd.DropTargetDropEvent; import java.awt.dnd.DropTargetListener; import java.awt.event.ActionEvent; import java.awt.event.ActionListener; import java.awt.event.MouseEvent; import java.awt.event.MouseListener; import java.io.File; import java.io.FilenameFilter; import java.io.FileWriter; import java.io.IOException; import java.io.PrintWriter; import java.util.List; import java.util.Vector; import javax.swing.ButtonGroup; import javax.swing.JDialog; import javax.swing.JFileChooser; import javax.swing.JList; import javax.swing.JMenu; import javax.swing.JMenuBar; import javax.swing.JMenuItem; import javax.swing.JRadioButtonMenuItem; import javax.swing.JTable; import javax.swing.JScrollPane; import javax.swing.ListSelectionModel; import javax.swing.filechooser.FileFilter; import javax.swing.table.DefaultTableModel; import javax.swing.table.TableColumn; import helliker.id3.ID3v2FormatException; import helliker.id3.MP3File; import helliker.id3.NoMPEGFramesException; import helliker.id3.Playlist; public class PlaylistManager extends JDialog implements ActionListener, DropTargetListener,MouseListener { private JavaPlayer player; private Playlist playlist; private Vector columns; private DefaultTableModel model; private JTable table; private int[] columnWidth = {75,100,300,300,300,75}; public PlaylistManager(JavaPlayer p) { super(); setTitle("Playlist Manager"); setModal(true); setBounds(Settings.getManagerRect()); setJMenuBar(buildMenu()); player = p; playlist = player.getPlaylist(); columns = new Vector(); columns.addElement("Number"); columns.addElement("Track Number"); columns.addElement("Track Title"); columns.addElement("Album"); columns.addElement("Artist"); columns.addElement("Time"); model = new DefaultTableModel(columns,0) { public boolean isCellEditable(int row, int column) { return false; } }; table = new JTable(model); for(int i=0;i