gpt4 book ai didi

java - JFileChooser 在 Mac 中不显示窗口

转载 作者:行者123 更新时间:2023-12-02 09:42:53 25 4
gpt4 key购买 nike

我有以下应用程序代码。我在 Ubuntu 中使用它并且运行良好。但是当我尝试在具有相同java版本的macOS中运行它时,它出现了一些问题。第一个 JFileChooser 打开并且工作正常。但第二个 JFileChooser 没有显示。

import javax.swing.*;
import java.io.IOException;

public class App {

public static void main(String[] args) {
String segmentedImageDir="", segmentedImageSuffix="", originalImageDir="";
JFileChooser fc = new JFileChooser();
fc.setFileSelectionMode(JFileChooser.DIRECTORIES_ONLY);
fc.setDialogTitle("Select Original Images Directory");
System.out.println("Getting Original Images Directory");
if(fc.showOpenDialog(null) == JFileChooser.APPROVE_OPTION){
originalImageDir = fc.getSelectedFile().getAbsolutePath();
}
System.out.println("Original Images Directory: "+originalImageDir);
fc = new JFileChooser();
fc.setFileSelectionMode(JFileChooser.DIRECTORIES_ONLY);
fc.setDialogTitle("Select Segmented Images Directory");
System.out.println("Getting Segmented Images Directory");
//Everything works fine till here
if(fc.showOpenDialog(null) == JFileChooser.APPROVE_OPTION){
segmentedImageDir = fc.getSelectedFile().getAbsolutePath();
}
System.out.println("Segmented Images Directory: "+segmentedImageDir);

segmentedImageSuffix = MainFrame.getSegmentedImageSuffix();

try{
new MainFrame(originalImageDir, segmentedImageDir, segmentedImageSuffix);
} catch (IOException ioe){
ioe.printStackTrace();
JOptionPane.showMessageDialog(null, "Could not load image", "IOException", JOptionPane.ERROR_MESSAGE);
}
}
}

最佳答案

是的,这在 Mac 上似乎有些奇怪的错误。不过,我为您找到了一个简单的解决方法:

这里没有实际需要创建另一个 JFileChooser 实例;您只需删除此行即可:

fc = new JFileChooser();

保留其他所有内容,现在它将在目录模式下弹出文件选择器对话框两次,标题正确,正如您想要的那样。

这个bug report似乎表明,尽管根据甲骨文某人的说法无法重现,但这个错误已经存在了一段时间。

关于java - JFileChooser 在 Mac 中不显示窗口,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56921631/

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