gpt4 book ai didi

java - JFileChooser 类型中的方法 showSaveDialog(Component) 不适用于 ()

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

我想使用 saveDialog 初始化一个框架,但是当使用此 chooser.showSaveDialog(this); 时,我收到错误:

public void initialize() {

JFrame frame = new JFrame();
Container content = frame.getContentPane();
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

//Menu
JMenu menu = new JMenu("File");
menu.add(new AbstractAction("Make Image") {
public void actionPerformed(ActionEvent e) {
JFileChooser chooser = new JFileChooser();
int option = chooser.showSaveDialog(this);
if(option == JFileChooser.APPROVE_OPTION) {
File file = chooser.getSelectedFile();
writeJPEGImage(file);
}
}});

JPopupMenu.setDefaultLightWeightPopupEnabled(false);
JMenuBar menuBar = new JMenuBar();
menuBar.add(menu);
frame.setJMenuBar(menuBar);


content.add(tree);
frame.pack();
frame.setVisible(true);
}

错误:

The method showSaveDialog(Component) in the type JFileChooser is not applicable for the arguments ()

我知道这个方法通常会获取一个组件,但我的类中没有任何组件,因为我正在这个方法中加载它。

有什么建议可以解决这个问题吗?

感谢您的回答!

PS.: new Test() 确实有效,但我必须给它当前的组件!

最佳答案

您可以使用您创建的框架变量作为参数,也可以使用内容变量。

int option = chooser.showSaveDialog(frame);

int option = chooser.showSaveDialog(content);

此外,您还必须将它们定义为最终才能从匿名类访问它们:

final JFrame frame = new JFrame();

final Container content = frame.getContentPane();

关于java - JFileChooser 类型中的方法 showSaveDialog(Component) 不适用于 (),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24361690/

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