import java.awt.*; import java.awt.event.ActionEvent; import java.awt.event.ActionListener; import java.io.*; import java.util.ArrayList; import org.jaudiotagger.audio.AudioFile; import org.jaudiotagger.audio.AudioFileIO; import org.jaudiotagger.tag.FieldKey; import org.jaudiotagger.tag.Tag; import org.jaudiotagger.tag.datatype.Artwork; import javax.swing.*; import javax.swing.text.DefaultCaret; public class Main extends JFrame { String textPath = ""; JPanel panel = new JPanel(); Boolean readyState = false; JScrollPane scrollPane; JButton editButton = new JButton("Edit Tags"); int progress = 0; FileUtility fileUtil = new FileUtility(); JProgressBar progressBar = new JProgressBar(); JLabel title = new JLabel("YouTube to MP3 Auto Tagging"); JButton startButton = new JButton("Set .txt File"); static JTextArea outputArea = new JTextArea(""); public Main(){ initializeComponents(); initializeActionsListeners(); } public static void main(String[] args) { new Main().setVisible(true); } private void downloadAndTag(){ //Main loop ran for checking list of songs, downloading mp3 files, and applying tags ArrayList songs = fileUtil.txtToArrayList(textPath); progress = 0; for(int i = 0;i { outputArea.setText(""); startButton.setEnabled(false); downloadAndTag(); startButton.setEnabled(true); }; Thread thread = new Thread(runnable); thread.start(); } } }); editButton.addActionListener(new ActionListener() { @Override public void actionPerformed(ActionEvent e){ new TagEditorScreen().setVisible(true); } }); } }