如何在菜单项单击时调用函数? [英] How to call function on menu item click?

查看:36
本文介绍了如何在菜单项单击时调用函数?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我正在开发一个应用程序.

I am developing an application.

我试图调用菜单项点击的方法,但我不知道如何调用它.

I am trying to call a method on menu item click, but how to call it I don't know.

我的菜单代码如下:

JMenuBar menuBar = new JMenuBar();
setJMenuBar(menuBar);

JMenu mnFile = new JMenu("File");
menuBar.add(mnFile);

JMenuItem mntmLoadImage = new JMenuItem("Load Image");
mnFile.add(mntmLoadImage);

JMenuItem mntmSaveImage = new JMenuItem("Save Image",s.save("/images", ""));
mnFile.add(mntmSaveImage);

JSeparator separator = new JSeparator();
mnFile.add(separator);

JMenuItem mntmExit = new JMenuItem("Exit");
mnFile.add(mntmExit);

JMenu mnEdit = new JMenu("Edit");
menuBar.add(mnEdit);

JMenuItem mntmIncreaseBright = new JMenuItem("Increase Bright");
mnEdit.add(mntmIncreaseBright);

JMenuItem mntmDecreaseBright = new JMenuItem("Decrease Bright");
mnEdit.add(mntmDecreaseBright);

JSeparator separator_1 = new JSeparator();
mnEdit.add(separator_1);

JMenuItem mntmRestoreImage = new JMenuItem("Restore Image");
mnEdit.add(mntmRestoreImage);

JMenu mnHelp = new JMenu("Help");
menuBar.add(mnHelp);

JMenuItem mntmHelpCtrl = new JMenuItem("Help ctrl + K");
mnHelp.add(mntmHelpCtrl);

JMenuItem mntmAboutImageEditor = new JMenuItem("About Image Editor");
mnHelp.add(mntmAboutImageEditor);

JSeparator separator_2 = new JSeparator();
mnHelp.add(separator_2);

JMenuItem mntmAboutCompany = new JMenuItem("About Company");
mnHelp.add(mntmAboutCompany);

我的函数代码如下:

public void save(String path, String name) throws IOException {
    if (scaled != null) {  
        name += scaled.getWidth() + "x" + scaled.getHeight();
        ImageIO.write(scaled, "png", (ImageOutputStream) new File(path + File.separator + name + ".png"));
    } else {
        throw new NullPointerException("Scaled instance is null");
    }
}

我在保存图像菜单项中调用函数,但显示错误.这里 s 是我定义了保存方法的类的对象.

I am calling function in save image menu item but its shows an error. here s is object of class in which I have define method save.

推荐答案

它会是这样的:

MenuItem1.addActionListener(new ActionListener() {

    @Override
    public void actionPerformed(ActionEvent arg0) {

        FunctionName();
    }
});

这篇关于如何在菜单项单击时调用函数?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆