我正在编写一个需要文件打开对话框的Java程序。文件打开对话框并不困难,我希望使用JFileChooser。我的问题是我想要一个双 Pane JFrame(由2 JPanels组成)。左侧面板将带有JList,右侧面板将具有文件打开对话框。

当我使用JFileChooser.showOpenDialog()时,这将在所有其他窗口上方打开对话框,这不是我想要的。有什么方法可以让JFileChooser(或者可能是另一个文件选择对话框)显示在JPanel内部,而不是在其上方弹出?

这是我尝试过的代码,到目前为止,它已经非常简化。我现在只想将JFileChooser嵌入JPanel中。

public class JFC extends JFrame{
    public JFC()
    {
        setSize(800,600);

        JPanel panel= new JPanel();

        JFileChooser chooser = new JFileChooser();
        panel.add(chooser);

        setVisible(true);

        chooser.showOpenDialog(null);
    }

    public static void main(String[] args)
    {
        JFC blah = new JFC();
    }
}

我也尝试过使用chooser.showOpenDialogthis调用panel,但无济于事。另外,我尝试将JFileChooser直接添加到框架中。上面列出的两种尝试仍然在框架或面板的前面弹出了JFileChooser(取决于我向其添加JFileChooser的位置)。

最佳答案

JFileChooser扩展了JComponent和Component,因此您应该能够将其直接添加到框架中。

JFileChooser fc = ...
JPanel panel ...
panel.add(fc);

关于java - 嵌入在JPanel中的JFileChooser,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/259575/

10-11 04:14