将.asm文件作为JMenuItems放在文件夹中,并将它们添加到JMenu中,添加ActionListener Events

时间:2013-11-05 13:10:16

标签: java swing file jmenu jmenuitem

假设我有一个名为examples/basics/的文件夹 在那个文件夹中,我有一堆.asm文件。我现在要做的是将这些文件自动制作成JMenuItems,没有.asm扩展名,放在JMenu中并添加了actionlisteners,它们执行以下操作:

  

用户点击JMenuItem发布。一个新的,假设一个CodeArea对象被创建,文件 examples / basics /我在上的内容将作为新文件传入。

如何用最简单的方法实现这个目标?

1 个答案:

答案 0 :(得分:1)

出于您的目的的简单示例:

    JFrame frame = new JFrame();
    frame.setSize(400,400);
    frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
    JMenuBar menu = new JMenuBar();
    frame.setJMenuBar(menu);

    JMenu mainMenu = new JMenu("Menu");
    menu.add(mainMenu);

    File f = new File(PATH_TO_FOLDER);
    if(f.exists()){
        File[] listFiles = f.listFiles();
        for(File file : listFiles){
            if(file.getAbsolutePath().endsWith(EXTENSION)){
                final JMenuItem m = new JMenuItem(file.getName());
                mainMenu.add(m);
                m.addActionListener(new ActionListener() {

                    @Override
                    public void actionPerformed(ActionEvent arg0) {
                        System.out.println(m.toString());
                    }
                });
            }
        }
    }

    frame.setLocationRelativeTo(null);
    frame.setVisible(true);

此处 PATH_TO_FOLDER 是包含文件的文件夹的路径

EXTENSION 是菜单文件的目标扩展名