gpt4 book ai didi

java - 如何在菜单项点击时调用函数?

转载 作者:行者123 更新时间:2023-12-05 01:01:11 24 4
gpt4 key购买 nike

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

我想在菜单项点击时调用一个方法,但我不知道如何调用它。

我的菜单代码如下:

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 是我在其中定义方法保存的类的对象。

最佳答案

mntmSaveImage.addActionListener(new ActionListener(){
public void actionPerformed(ActionEvent e){
// get the path and the name
save(path, name);
}
});

也许 JFileChooser 对获取路径和名称很有用,这里是一个小示例:)

JFileChooser chooser = new JFileChooser();
int returnVal = chooser.showOpenDialog(parent);
if(returnVal == JFileChooser.APPROVE_OPTION) {
path = chooser.getSelectedFile().getAbsolutePath();
name = chooser.getSelectedFile().getName();
}

如果我没说错的话,parent 就是你的 Container,例如 JFrame
希望对您有所帮助!

关于java - 如何在菜单项点击时调用函数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18097085/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com