窗口显示在最后一个地方而不是第一个地方

时间:2016-07-04 13:07:59

标签: java jfilechooser

当我使用JFileChooser时,它会在最后一个位置打开对话框窗口,而不是在第一个位置。

enter image description here

它没有显示为第一个窗口=它在我运行程序后没有“弹出”。

当我在main中使用它时,它可以工作,但是当我在方法中使用它时,它正在这样做。

import javax.swing.JDialog;
import javax.swing.JFileChooser;

public class JFrameChooser {
    public static void vyberSuboru() {
        JFileChooser fileChooser = new JFileChooser();
        JDialog dialog = new JDialog();
        int result = fileChooser.showOpenDialog(dialog);
        if (result == JFileChooser.APPROVE_OPTION) {
            System.out.println(fileChooser.getSelectedFile().getAbsolutePath());
           }
        }       
}

1 个答案:

答案 0 :(得分:1)

您正在使用新创建的对话框创建文件选择器,该对话框为空且不可见。而是将您的应用程序的主窗口用作父级。

这样的东西:

public class JFrameChooser {
    public static void vyberSuboru(JDialog parent) {
        JFileChooser fileChooser = new JFileChooser();
        int result = fileChooser.showOpenDialog(parent);
        if (result == JFileChooser.APPROVE_OPTION) {
            System.out.println(fileChooser.getSelectedFile().getAbsolutePath());
           }
        }       
}