【问题标题】:How to change the file chooser to select a file and display it in a list如何更改文件选择器以选择文件并将其显示在列表中
【发布时间】:2014-12-12 18:35:01
【问题描述】:

我正在尝试创建一个播放列表 gui。 此代码显示了带有菜单栏的 JFrame 和运行时自动出现的文件选择器,我需要添加什么才能使用户选择按钮以打开文件选择器以及如何在他们选择音乐文件后显示它?就好像它像播放列表一样显示,以便他们可以选择删除、复制等。感谢您的帮助!

public class PlaylistView extends JFrame{    
    public static void main(String[] args){
        JFrame f = new JFrame("Playlist");
        f.setVisible(true);
        f.setSize(800,600);
        f.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
        f.setLocationRelativeTo(null);

        //The creation of a menubar
        JMenuBar mb = new JMenuBar();
        //sets menu bar onto the frame
        f.setJMenuBar(mb);

        //New menu items
        JMenu file = new JMenu("File");
        JMenu edit = new JMenu("Edit");
        JMenu exit = new JMenu("Exit");
        mb.add(file);
        mb.add(edit);
        mb.add(exit);


        JMenuItem addsong = new JMenuItem("Add Song");
        JMenuItem deletesong = new JMenuItem("Delete Song");
        JMenuItem copysong = new JMenuItem("Copy Song");
        file.add(addsong);
        file.add(deletesong);
        file.add(copysong);  

        JMenuItem addplaylist = new JMenuItem("Add Playlist");
        edit.add(addplaylist);
        JMenuItem deleteplaylist = new JMenuItem("Delete Playlist");
        edit.add(deleteplaylist);
        JMenuItem saveplaylist = new JMenuItem("Save Playlist");
        edit.add(saveplaylist);
        JMenuItem copyplaylist = new JMenuItem("Copy Playlist");
        edit.add(copyplaylist);

        //Button actually open to the file chooser
        JButton open = new JButton("Add Song");        
        //Filechooser to add a song in
        JFileChooser fc = new JFileChooser();
        fc.setCurrentDirectory(new java.io.File("."));
        fc.setDialogTitle("Add Song");
        fc.setFileSelectionMode(JFileChooser.FILES_ONLY);
        if (fc.showOpenDialog(open) == JFileChooser.OPEN_DIALOG){

        }
        System.out.println("File Selected:" + fc.getSelectedFile().getAbsoluteFile());
    }
}

【问题讨论】:

标签: java swing jframe jfilechooser playlist


【解决方案1】:

要在列表中显示文件,您可以将它们保存在 JList 中。

DefaultListModel mylistmodel = new DefaultListModel();
JList songs= new JList(mylistmodel );

Everytime you select a file, you can call add the item to the list by,

mylistmodel.addElement(songtoAdd); // songtoadd is an object

mylistmodel.insertElementAt(songtoAdd, 0); // to insert songs at specific positions.

mylistmodel.remove(IndexofSong);

您可以对上述活动使用特定方法,然后调用适当的方法来执行每个操作。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2017-02-10
    • 1970-01-01
    • 1970-01-01
    • 2020-09-18
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多