import java.awt.BorderLayout; import java.awt.Dimension; import java.awt.GridLayout; import java.awt.event.ActionEvent; import java.awt.event.ActionListener; import java.awt.image.BufferedImage; import java.io.File; import java.io.IOException; import javax.imageio.ImageIO; import javax.swing.BoxLayout; import javax.swing.ImageIcon; import javax.swing.JButton; import javax.swing.JLabel; import javax.swing.JPanel; import javax.swing.JScrollPane; import javax.swing.JTabbedPane; import javax.swing.JTextArea; import javax.swing.JTextField; public class Side_Panel { BufferedImage cover; ImageIcon icon; JPanel panel; JLabel label; JScrollPane scrollPane; JTextArea lyrics_field; String lyrics; JLabel Label_Title_ID3V1; JLabel Label_Year_ID3V1; JLabel Label_Artist_ID3V1; JLabel Label_Composer_ID3V1; JLabel Label_Album_ID3V1; JLabel Label_Comment_ID3V1; JLabel Label_Genre_ID3V1; JLabel Label_Title_ID3V2; JLabel Label_Year_ID3V2; JLabel Label_Artist_ID3V2; JLabel Label_Composer_ID3V2; JLabel Label_Album_ID3V2; JLabel Label_Comment_ID3V2; JLabel Label_Genre_ID3V2; final JTextField Text_Title_ID3V1; final JTextField Text_Year_ID3V1; final JTextField Text_Artist_ID3V1; final JTextField Text_Composer_ID3V1; final JTextField Text_Album_ID3V1; final JTextField Text_Comment_ID3V1; final JTextField Text_Genre_ID3V1; final JTextField Text_Title_ID3V2; final JTextField Text_Year_ID3V2; final JTextField Text_Artist_ID3V2; final JTextField Text_Composer_ID3V2; final JTextField Text_Album_ID3V2; final JTextField Text_Comment_ID3V2; final JTextField Text_Genre_ID3V2; JButton fix_ID3V1; JButton fix_ID3V2; JButton reset_ID3V1; JButton reset_ID3V2; static int currentindex; public Side_Panel() { currentindex = -1; panel = new JPanel(); panel.setLayout(new BorderLayout()); label = new JLabel("Album Arts\n",icon,JLabel.CENTER); panel.add(label,BorderLayout.NORTH); ////////////////////////////////// tab panel //////////////////////////////////////// JTabbedPane tabPane = new JTabbedPane(); JPanel gridPane_ID3V1 = new JPanel( new GridLayout(7, 2) ); JPanel boxPane_ID3V1 = new JPanel( ); JPanel buttonPane_ID3V1 = new JPanel( ); JPanel gridPane_ID3V2 = new JPanel( new GridLayout(7, 2) ); JPanel boxPane_ID3V2 = new JPanel( ); JPanel buttonPane_ID3V2 = new JPanel( ); ////////////////////////////////// ID3V1 //////////////////////////////////////// Label_Title_ID3V1 = new JLabel( "Title" ); Label_Year_ID3V1 = new JLabel( "Year" ); Label_Artist_ID3V1 = new JLabel( "Artist" ); Label_Composer_ID3V1 = new JLabel( "Composer" ); Label_Album_ID3V1 = new JLabel( "Album" ); Label_Comment_ID3V1 = new JLabel( "Comment" ); Label_Genre_ID3V1 = new JLabel( "Genre" ); Text_Title_ID3V1 = new JTextField( ); Text_Year_ID3V1 = new JTextField( ); Text_Artist_ID3V1 = new JTextField( ); Text_Composer_ID3V1 = new JTextField( ); Text_Album_ID3V1 = new JTextField( ); Text_Comment_ID3V1 = new JTextField( ); Text_Genre_ID3V1 = new JTextField( ); final String DEFAULT_TITLE_ID3V1 =""; final String DEFAULT_YEAR_ID3V1; final String DEFAULT_ARTIST_ID3V1; final String DEFAULT_COMPOSER_ID3V1; final String DEFAULT_ALBUM_ID3V1; final String DEFAULT_COMMENT_ID3V1; final String DEFAULT_GENRE_ID3V1; fix_ID3V1 = new JButton( "Fix" ); reset_ID3V1 = new JButton( "Reset" ); reset_ID3V1.addActionListener( new ActionListener(){ public void actionPerformed( ActionEvent e ){ // TODO reset to defaults Text_Title_ID3V1.setText( DEFAULT_TITLE_ID3V1 ); } }); gridPane_ID3V1.add( Label_Title_ID3V1 ); gridPane_ID3V1.add( Text_Title_ID3V1 ); gridPane_ID3V1.add( Label_Year_ID3V1 ); gridPane_ID3V1.add( Text_Year_ID3V1 ); gridPane_ID3V1.add( Label_Artist_ID3V1 ); gridPane_ID3V1.add( Text_Artist_ID3V1 ); gridPane_ID3V1.add( Label_Composer_ID3V1 ); gridPane_ID3V1.add( Text_Composer_ID3V1 ); gridPane_ID3V1.add( Label_Album_ID3V1 ); gridPane_ID3V1.add( Text_Album_ID3V1 ); gridPane_ID3V1.add( Label_Comment_ID3V1 ); gridPane_ID3V1.add( Text_Comment_ID3V1 ); gridPane_ID3V1.add( Label_Genre_ID3V1 ); gridPane_ID3V1.add( Text_Genre_ID3V1 ); JScrollPane scrollPane_ID3V1 = new JScrollPane( gridPane_ID3V1 ); buttonPane_ID3V1.setLayout( new BoxLayout( buttonPane_ID3V1, BoxLayout.LINE_AXIS) ); buttonPane_ID3V1.add( fix_ID3V1 ); buttonPane_ID3V1.add( reset_ID3V1 ); boxPane_ID3V1.setLayout( new BoxLayout( boxPane_ID3V1, BoxLayout.PAGE_AXIS) ); boxPane_ID3V1.add( scrollPane_ID3V1 ); boxPane_ID3V1.add( buttonPane_ID3V1 ); tabPane.add( "ID3V1" , boxPane_ID3V1 ); ////////////////////////////////// ID3V2 //////////////////////////////////////// final String DEFAULT_TITLE_ID3V2 = new String( "Default Title" ); final String DEFAULT_YEAR_ID3V2; final String DEFAULT_ARTIST_ID3V2; final String DEFAULT_COMPOSER_ID3V2; final String DEFAULT_ALBUM_ID3V2; final String DEFAULT_COMMENT_ID3V2; final String DEFAULT_GENRE_ID3V2; Label_Title_ID3V2 = new JLabel( "Title" ); Label_Year_ID3V2 = new JLabel( "Year" ); Label_Artist_ID3V2 = new JLabel( "Artist" ); Label_Composer_ID3V2 = new JLabel( "Composer" ); Label_Album_ID3V2 = new JLabel( "Album" ); Label_Comment_ID3V2 = new JLabel( "Comment" ); Label_Genre_ID3V2 = new JLabel( "Genre" ); Text_Title_ID3V2 = new JTextField( ); Text_Year_ID3V2 = new JTextField( ); Text_Artist_ID3V2 = new JTextField( ); Text_Composer_ID3V2 = new JTextField( ); Text_Album_ID3V2 = new JTextField( ); Text_Comment_ID3V2 = new JTextField( ); Text_Genre_ID3V2 = new JTextField( ); fix_ID3V2 = new JButton( "Fix" ); reset_ID3V2 = new JButton( "Reset" ); reset_ID3V2.addActionListener( new ActionListener(){ public void actionPerformed(ActionEvent e){ // TODO reset to defaults Text_Title_ID3V2.setText( DEFAULT_TITLE_ID3V2 ); } }); addfixlistener(); gridPane_ID3V2.add( Label_Title_ID3V2 ); gridPane_ID3V2.add( Text_Title_ID3V2 ); gridPane_ID3V2.add( Label_Year_ID3V2 ); gridPane_ID3V2.add( Text_Year_ID3V2 ); gridPane_ID3V2.add( Label_Artist_ID3V2 ); gridPane_ID3V2.add( Text_Artist_ID3V2 ); gridPane_ID3V2.add( Label_Composer_ID3V2 ); gridPane_ID3V2.add( Text_Composer_ID3V2 ); gridPane_ID3V2.add( Label_Album_ID3V2 ); gridPane_ID3V2.add( Text_Album_ID3V2 ); gridPane_ID3V2.add( Label_Comment_ID3V2 ); gridPane_ID3V2.add( Text_Comment_ID3V2 ); gridPane_ID3V2.add( Label_Genre_ID3V2 ); gridPane_ID3V2.add( Text_Genre_ID3V2 ); JScrollPane scrollPane_ID3V2 = new JScrollPane( gridPane_ID3V2 ); buttonPane_ID3V2.setLayout( new BoxLayout( buttonPane_ID3V2, BoxLayout.LINE_AXIS) ); buttonPane_ID3V2.add( fix_ID3V2 ); buttonPane_ID3V2.add( reset_ID3V2 ); boxPane_ID3V2.setLayout( new BoxLayout( boxPane_ID3V2, BoxLayout.PAGE_AXIS) ); boxPane_ID3V2.add( scrollPane_ID3V2 ); boxPane_ID3V2.add( buttonPane_ID3V2 ); tabPane.add( "ID3V2" , boxPane_ID3V2 ); panel.add(tabPane, BorderLayout.CENTER); //////////////////////////////// lyrics /////////////////////////////////////// lyrics = "fuck o"; lyrics_field = new JTextArea(lyrics); lyrics_field.setEditable(false); scrollPane = new JScrollPane(lyrics_field); scrollPane.setPreferredSize(new Dimension(250,300)); panel.add(scrollPane,BorderLayout.SOUTH); } public void addfixlistener(){ fix_ID3V1.addActionListener(new ActionListener(){ @Override public void actionPerformed(ActionEvent e) { System.out.println(Side_Panel.currentindex); // TODO Auto-generated method stub MP3FILE temp = Main_Frame.filevector.get(currentindex); try{ temp.tag.album = Text_Album_ID3V1.getText(); temp.tag.artist = Text_Artist_ID3V1.getText(); temp.tag.release_Date = Text_Year_ID3V1.getText(); temp.tag.title = Text_Title_ID3V1.getText(); temp.tag.comment = Text_Comment_ID3V1.getText(); temp.save_id3v1_tag(); Main_Frame.tp.update(currentindex); refresh(currentindex); //System.out.println(currentindex); }catch( Exception E ){ } } }); fix_ID3V2.addActionListener(new ActionListener(){ @Override public void actionPerformed(ActionEvent e) { // TODO Auto-generated method stub MP3FILE temp = Main_Frame.filevector.get(Table_Panel.rowsSelected[0]); try{ temp.get_correct_tag(); temp.save_id3v2_tag(); refresh(Table_Panel.rowsSelected[0]); }catch( Exception E ){ } } }); } public int refresh( int index ){ Text_Album_ID3V1.setText(Main_Frame.filevector.get(index).id3v1tag.getAlbum()); Text_Artist_ID3V1.setText(Main_Frame.filevector.get(index).id3v1tag.getArtist()); Text_Comment_ID3V1.setText(Main_Frame.filevector.get(index).id3v1tag.getComment()); Text_Title_ID3V1.setText(Main_Frame.filevector.get(index).id3v1tag.getSongTitle()); Text_Year_ID3V1.setText(Main_Frame.filevector.get(index).id3v1tag.getYear()); Text_Album_ID3V2.setText(Main_Frame.filevector.get(index).id3v2tag.getAlbumTitle()); Text_Artist_ID3V2.setText(Main_Frame.filevector.get(index).id3v2tag.getLeadArtist()); Text_Comment_ID3V2.setText(Main_Frame.filevector.get(index).id3v2tag.getSongComment()); Text_Title_ID3V2.setText(Main_Frame.filevector.get(index).id3v2tag.getSongTitle()); Text_Year_ID3V2.setText(Main_Frame.filevector.get(index).id3v2tag.getYearReleased()); return 0; } }