From 4eadb8245e7d27c25fa5ef8e8656cb2c6e53cf54 Mon Sep 17 00:00:00 2001 From: Pinapelz Date: Thu, 20 Apr 2023 11:05:15 -0700 Subject: Implemented search feature for editing tags screen --- src/main/java/Main.java | 2 +- src/main/java/TagEditorScreen.form | 2 +- src/main/java/TagEditorScreen.java | 31 ++++++++++++++++++++++++------- 3 files changed, 26 insertions(+), 9 deletions(-) diff --git a/src/main/java/Main.java b/src/main/java/Main.java index 41b1c63..0281001 100644 --- a/src/main/java/Main.java +++ b/src/main/java/Main.java @@ -63,7 +63,7 @@ public class Main extends JFrame { private void downloadAndTag() { ArrayList songs = fileUtil.txtToArrayList(textPath); String timeAppend = ""; - boolean partFlag = false; + boolean partFlag; for (int i = 0; i < songs.size(); i++) { try { fileUtil.deleteAllFilesDir(DOWNLOADED_DIR); diff --git a/src/main/java/TagEditorScreen.form b/src/main/java/TagEditorScreen.form index 48133ed..23ceccb 100644 --- a/src/main/java/TagEditorScreen.form +++ b/src/main/java/TagEditorScreen.form @@ -136,7 +136,7 @@ - + diff --git a/src/main/java/TagEditorScreen.java b/src/main/java/TagEditorScreen.java index 61afaba..17d5a4f 100644 --- a/src/main/java/TagEditorScreen.java +++ b/src/main/java/TagEditorScreen.java @@ -11,7 +11,6 @@ import javax.swing.table.DefaultTableModel; import java.awt.*; import java.awt.event.*; import java.awt.image.BufferedImage; -import java.io.File; import java.io.IOException; import java.util.ArrayList; @@ -27,7 +26,7 @@ public class TagEditorScreen extends JFrame { private JButton chooseAudioDirectoryButton; private JButton applyChangesButton; private JLabel artIconLabel; - private JTextField textField2; + private JTextField searchField; private JButton listenButton; private FileUtility fileUtil = new FileUtility(); private String setDirPath = ""; @@ -46,6 +45,20 @@ public class TagEditorScreen extends JFrame { initalizeListeners(); this.setVisible(true); + searchField.addKeyListener(new KeyAdapter() { + @Override + public void keyTyped(KeyEvent e) { + super.keyTyped(e); + String searchTerm = searchField.getText(); + clearSongTable(); + for (File f : songList) { + if (f.getName().toLowerCase().contains(searchTerm.toLowerCase())) { + addSongTable(f); + } + } + + } + }); } private void initializeTable() { @@ -104,17 +117,21 @@ public class TagEditorScreen extends JFrame { } } + private void populateSongList(){ + songList = fileUtil.getMp3Files(setDirPath); //get arraylist of all files in the directory + for (int i = 0; i < songList.size(); i++) { + addSongTable(songList.get(i)); + } + } + + private void initalizeListeners() { chooseAudioDirectoryButton.addActionListener(new ActionListener() { @Override public void actionPerformed(ActionEvent e) { clearSongTable(); setDirPath = fileUtil.showDirectoryChooser(); - songList = fileUtil.getMp3Files(setDirPath); //get arraylist of all files in the directory - for (int i = 0; i < songList.size(); i++) { - addSongTable(songList.get(i)); - - } + populateSongList(); } }); songTable.addMouseListener(new MouseAdapter() { -- cgit v1.2.3