假设我有一个名为examples/basics/
的文件夹
在那个文件夹中,我有一堆.asm文件。我现在要做的是将这些文件自动制作成JMenuItems,没有.asm扩展名,放在JMenu中并添加了actionlisteners,它们执行以下操作:
用户点击JMenuItem发布。一个新的,假设一个CodeArea对象被创建,文件 examples / basics /我在上的内容将作为新文件传入。
如何用最简单的方法实现这个目标?
答案 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 是菜单文件的目标扩展名