假设我有一个名为examples/basics/
在该文件夹中的文件夹,我有一堆 .asm 文件。我现在想做的是将这些文件自动制作成 JMenuItems,不带 .asm 扩展名,放置在 JMenu 内并添加动作监听器,执行以下操作:
用户点击生成的 JMenuItem。一个新的,假设创建了一个 CodeArea 对象,并且文件示例/基础/我单击的内容作为新文件传入。
如何以最简单的方式实现这一目标?
用于您的目的的简单示例:
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是菜单文件的目标扩展名