diff options
| author | Pinapelz <donaldshan1@outlook.com> | 2023-04-20 11:05:15 -0700 |
|---|---|---|
| committer | Pinapelz <donaldshan1@outlook.com> | 2023-04-20 11:05:15 -0700 |
| commit | 4eadb8245e7d27c25fa5ef8e8656cb2c6e53cf54 (patch) | |
| tree | 7b140eeb108cf97f31143eba0d0b8901e35b760b | |
| parent | 3f33fb95e639af7099f8e10439a38317f3283486 (diff) | |
Implemented search feature for editing tags screen
| -rw-r--r-- | src/main/java/Main.java | 2 | ||||
| -rw-r--r-- | src/main/java/TagEditorScreen.form | 2 | ||||
| -rw-r--r-- | 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<String> 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 @@ </component> </children> </scrollpane> - <component id="b9881" class="javax.swing.JTextField" binding="textField2" default-binding="true"> + <component id="b9881" class="javax.swing.JTextField" binding="searchField"> <constraints> <grid row="2" column="2" row-span="1" col-span="1" vsize-policy="0" hsize-policy="6" anchor="8" fill="1" indent="0" use-parent-layout="false"> <preferred-size width="150" height="-1"/> 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() { |
