⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 playlistui.java

📁 java+eclipse做的TTPlayer
💻 JAVA
📖 第 1 页 / 共 4 页
字号:
        menu.add(Config.getResource("playlist.rename.artist.songName.ext")).addActionListener(new ActionListener() {            public void actionPerformed(ActionEvent ae) {                PlayListItem item = currentPlayList.getItemAt(rightIndex);                File file = new File(item.getLocation());                File rename = new File(file.getParent(),                        item.getArtist() + " - " + item.getTitle() + "." + Util.getType(file));                boolean b = file.renameTo(rename);                if (b) {                    item.setLocation(rename.getPath());                }                log.log(Level.INFO, "把文件:" + file + "重命名为:" + rename);                log.log(Level.INFO, "命名成功了吗?" + b);            }        });        //歌曲名 - 歌手.扩展名        menu.add(Config.getResource("playlist.rename.songName.aritst.ext")).addActionListener(new ActionListener() {            public void actionPerformed(ActionEvent ae) {                PlayListItem item = currentPlayList.getItemAt(rightIndex);                File file = new File(item.getLocation());                File rename = new File(file.getParent(),                        item.getTitle() + " - " + item.getArtist() + "." + Util.getType(file));                boolean b = file.renameTo(rename);                if (b) {                    item.setLocation(rename.getPath());                }                log.log(Level.INFO, "把文件:" + file + "重命名为:" + rename);                log.log(Level.INFO, "命名成功了吗?" + b);            }        });        return menu;    }    /**     * 得到添加菜单,里面已经构造好了子菜单项     * @return 菜单     */    private JMenu createAddMenu() {        JMenu menu = new JMenu(Config.getResource("playlist.add"));        //添加文件        menu.add(Config.getResource("playlist.add.file")).addActionListener(new ActionListener() {            public void actionPerformed(ActionEvent ae) {                JFileChooser jf = Util.getFileChooser(new FileNameFilter(Config.EXTS,                        Config.getResource("playlist.filechooser.name"), true), JFileChooser.FILES_ONLY);                int i = jf.showOpenDialog(config.getPlWindow());                if (i == JFileChooser.APPROVE_OPTION) {                    File f = jf.getSelectedFile();                    PlayListItem item = new PlayListItem(Util.getSongName(f), f.getPath(), -1, true);                    if (rightIndex == -1) {                        currentPlayList.appendItem(item);                    } else {                        currentPlayList.addItemAt(item, rightIndex);                    }                    rightList.setListData(currentPlayList.getAllItems());                }            }        });        //添加文件夹        menu.add(Config.getResource("playlist.add.dir")).addActionListener(new ActionListener() {            public void actionPerformed(ActionEvent ae) {                JFileChooser jf = Util.getFileChooser(new FileNameFilter(Config.EXTS,                        Config.getResource("playlist.filechooser.name"), true), JFileChooser.DIRECTORIES_ONLY);                int i = jf.showOpenDialog(config.getPlWindow());                if (i == JFileChooser.APPROVE_OPTION) {                    File f = jf.getSelectedFile();                    if (f.isDirectory()) {                        File[] fs = f.listFiles(new FileNameFilter(Config.EXTS,                                Config.getResource("playlist.filechooser.name"), false));                        for (File file : fs) {                            PlayListItem item = new PlayListItem(Util.getSongName(file), file.getPath(), -1, true);                            if (rightIndex == -1) {                                currentPlayList.appendItem(item);                            } else {                                currentPlayList.addItemAt(item, rightIndex);                            }                        }                        rightList.setListData(currentPlayList.getAllItems());                    }                }            }        });        //添加网络地址        menu.add(Config.getResource("playlist.add.url")).addActionListener(new ActionListener() {            public void actionPerformed(ActionEvent ae) {                String s = JOptionPane.showInputDialog(config.getPlWindow(),                        Config.getResource("playlist.add.inputurl"));                if (s != null) {                    if (Config.startWithProtocol(s)) {                        PlayListItem item = new PlayListItem(s, s, -1, false);                        if (rightIndex == -1) {                            currentPlayList.appendItem(item);                        } else {                            currentPlayList.addItemAt(item, rightIndex);                        }                        rightList.setListData(currentPlayList.getAllItems());                    } else {                        JOptionPane.showMessageDialog(config.getPlWindow(),                                Config.getResource("playlist.add.invalidUrl"));                    }                }            }        });        return menu;    }    /**     * 创建删除相关的菜单以及菜单项     * @return 菜单     */    private JMenu createDeleteMenu() {        JMenu menu = new JMenu(Config.getResource("playlist.delete"));        if (rightIndex == -1) {            menu.setEnabled(false);            return menu;        }        //删除当前项        menu.add(Config.getResource("playlist.delete.select")).addActionListener(new ActionListener() {            public void actionPerformed(ActionEvent ae) {                Object[] objs = rightList.getSelectedValues();                for (Object obj : objs) {                    currentPlayList.removeItem((PlayListItem) obj);                }                rightList.setListData(currentPlayList.getAllItems());                rightList.setSelectedIndex(rightIndex);            }        });        //删除重复项        menu.add(Config.getResource("playlist.delete.repeat")).addActionListener(new ActionListener() {            public void actionPerformed(ActionEvent ae) {                Vector<PlayListItem> vs = currentPlayList.getAllItems();                for (int i = 0; i < vs.size() - 1; i++) {                    PlayListItem item1 = vs.get(i);                    for (int j = i + 1; j < vs.size(); j++) {                        PlayListItem item2 = vs.get(j);                        if (item1.getLocation().equals(item2.getLocation())) {                            vs.remove(item2);                            j--;                        }                    }                }                rightList.setListData(vs);            }        });        //删除错误文件        menu.add(Config.getResource("playlist.delete.error")).addActionListener(new ActionListener() {            public void actionPerformed(ActionEvent ae) {                Vector<PlayListItem> vs = currentPlayList.getAllItems();                List<PlayListItem> temp = new ArrayList<PlayListItem>();                for (PlayListItem item : vs) {                    //如果是文件,则文件不存在或者文件格式不合法则为错误文件                    if (item.isFile) {                        File f = new File(item.getLocation());                        if (f.exists()) {                            if (item.getFormattedLength().equals("-1")) {                                temp.add(item);                            }                        } else {                            temp.add(item);                        }                    } else {//如果是网络文件则无法判断了,留以后实现                    }                }                vs.removeAll(temp);                rightList.setListData(vs);            }        });        //清空列表        menu.add(Config.getResource("playlist.delete.all")).addActionListener(new ActionListener() {            public void actionPerformed(ActionEvent ae) {                currentPlayList.removeAllItems();                rightList.setListData(currentPlayList.getAllItems());            }            });        //物理删除        JMenuItem delete = new JMenuItem(Config.getResource("playlist.delete.deletefile"));        menu.add(delete);        delete.setEnabled(!config.isDisableDelete());        delete.addActionListener(new ActionListener() {            public void actionPerformed(ActionEvent ae) {                if (JOptionPane.YES_OPTION == JOptionPane.showConfirmDialog(config.getPlWindow(),                        Config.getResource("playlist.deletefile.confirm"),                        Config.getResource("confirm"), JOptionPane.YES_NO_OPTION, JOptionPane.QUESTION_MESSAGE)) {                    Object[] objs = rightList.getSelectedValues();                    for (Object obj : objs) {                        PlayListItem pl = (PlayListItem) obj;                        if (pl.isFile()) {                            File f = new File(pl.getLocation());                            boolean b = f.delete();                            if (b) {                                currentPlayList.removeItem(pl);                                repaint();                            }                        }                    }                }            }        });        return menu;    }    private JMenu createSearchMenu() {        //先简单实现,有时间或者有机会的时候,        //可以再实现的完美一些,比如继续查找,混合查找等等        JMenu menu = new JMenu(Config.getResource("playlist.search"));        //快速查找        menu.add(Config.getResource("playlist.search.fileName")).addActionListener(new ActionListener() {            public void actionPerformed(ActionEvent ae) {                String s = JOptionPane.showInputDialog(config.getPlWindow(),                        Config.getResource("playlist.search.inputFileName"));                if (s != null) {                    s = s.trim();                    for (PlayListItem item : currentPlayList.getAllItems()) {                        String name = Util.getSongName(item.getLocation());                        if (name.contains(s)) {                            rightList.setSelectedValue(item, true);                        }                    }                }            }        });        menu.add(Config.getResource("playlist.search.title")).addActionListener(new ActionListener() {            public void actionPerformed(ActionEvent ae) {                String s = JOptionPane.showInputDialog(config.getPlWindow(),                        Config.getResource("playlist.search.inputTitle"));                if (s != null) {                    s = s.trim();                    for (PlayListItem item : currentPlayList.getAllItems()) {                        String name = item.getTitle();                        if (name.contains(s)) {                            rightList.setSelectedValue(item, true);                        }                    }                }            }        });        menu.add(Config.getResource("playlist.search.artist")).addActionListener(new ActionListener() {            public void actionPerformed(ActionEvent ae) {                String s = JOptionPane.showInputDialog(config.getPlWindow(),                        Config.getResource("playlist.search.inputArtist"));                if (s != null) {                    s = s.trim();                    for (PlayListItem item : currentPlayList.getAllItems()) {                        String name = item.getArtist();                        if (name.contains(s)) {                            rightList.setSelectedValue(item, true);                        }                    }                }            }        });        menu.add(Config.getResource("playlist.search.album")).addActionListener(new ActionListener() {            public void actionPerformed(ActionEvent ae) {                String s = JOptionPane.showInputDialog(config.getPlWindow(),                        Config.getResource("playlist.search.inputAlbum"));                if (s != null) {                    s = s.trim();                    for (PlayListItem item : currentPlayList.getAllItems()) {                        String name = item.getAlbum();                        if (name.contains(s)) {                            rightList.setSelectedValue(item, true);                        }                    }                }            }        });        return menu;    }    private JMenu createSortMenu() {        JMenu menu = new JMenu(Config.getResource("playlist.sort"));        //按歌手        menu.add(Config.getResource("playlist.sort.artist")).addActionListener(new ActionListener() {            public void actionPerformed(ActionEvent ae) {                Collections.sort(currentPlayList.getAllItems(), new Comparator<PlayListItem>() {                    public int compare(PlayListItem o1, PlayListItem o2) {                        String s1 = o1.getArtist() == null ? "" : o1.getArtist();                        String s2 = o2.getArtist() == null ? "" : o2.getArtist();                        return Collator.getInstance(Locale.CHINESE).compare(s1, s2);                    }                });                rightList.setListData(currentPlayList.getAllItems());            }        });        //按标题        menu.add(Config.getResource("playlist.sort.title")).addActionListener(new ActionListener() {            public void actionPerformed(ActionEvent ae) {                Collections.sort(currentPlayList.getAllItems(), new Comparator<PlayListItem>() {                    public int compare(PlayListItem o1, PlayListItem o2) {                        String s1 = o1.getTitle() == null ? "" : o1.getTitle();                        String s2 = o2.getTitle() == null ? "" : o2.getTitle();                        return Collator.getInstance(Locale.CHINESE).compare(s1, s2);                    }                });                rightList.setListData(currentPlayList.getAllItems());            }        });        //按专辑        menu.add(Config.getResource("playlist.sort.album")).addActionListener(new ActionListener() {            public void actionPerformed(ActionEvent ae) {                Collections.sort(currentPlayList.getAllItems(), new Comparator<PlayListItem>() {                    public int compare(PlayListItem o1, PlayListItem o2) {                        String s1 = o1.getAlbum() == null ? "" : o1.getAlbum();                        String s2 = o2.getAlbum() == null ? "" : o2.getAlbum();                        return Collator.getInstance(Locale.CHINESE).compare(s1, s2);                    }                });                rightList.setListData(currentPlayList.getAllItems());            }        });        //按文件名        menu.add(Config.getResource("playlist.sort.fileName")).addActionListener(new ActionListener() {            public void actionPerformed(ActionEvent ae) {                Collections.sort(currentPlayList.getAllItems(), new Comparator<PlayListItem>() {                    public int compare(PlayListItem o1, PlayListItem o2) {                        String s1 = o1.getName() == null ? "" : o1.getName();                        String s2 = o2.getName() == null ? "" : o2.getName();                        return Collator.getInstance(Locale.CHINESE).compare(s1, s2);                    }                });                rightList.setListData(currentPlayList.getAllItems());            }        });        //按歌曲长度        menu.add(Config.getResource("playlist.sort.length")).addActionListener(new ActionListener() {            public void actionPerformed(ActionEvent ae) {                Collections.sort(currentPlayList.getAllItems(), new Comparator<PlayListItem>() {                    public int compare(PlayListItem o1, PlayListItem o2) {                        return (int) (o1.getLength() - o2.getLength());                    }                });                rightList.setListData(currentPlayList.getAllItems());            }        });        menu.addSeparator();        //随机乱序         menu.add(Config.getResource("playlist.sort.random")).addActionListener(new ActionListener() {            public void actionPerformed(ActionEvent ae) {

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -