java - 将 JFileChooser 合并到 JFrame 中间

标签 java jframe jfilechooser

我正在用Java编写一个小程序,它可以管理计算机中的文件。 我尝试通过创建面板并将其放在框架中间,将 JFileChooser.showSaveDialog() 放在框架中间:

JFrame frame = new JFrame();
    frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

    JPanel panel = new JPanel();
    panel.setPreferredSize(new Dimension(150,150) );

    JFileChooser chooseFile = new JFileChooser();
    chooseFile.showSaveDialog(panel);

    frame.getContentPane().add(BorderLayout.CENTER,panel);

    frame.setSize(400,400);
    frame.setVisible(true);

但实际上,当执行 showSaveDialog() 命令时,框架变得不可见。 我可以更改它吗?

最佳答案

并不是 JFrame 不可见,而是它从未设置为可见。我假设您希望在调用 showSaveDialog() 时 JFrame 可见。由于缺乏细节,这是我必须提供的:

    javax.swing.JFrame frame = new javax.swing.JFrame();
    frame.setDefaultCloseOperation(javax.swing.JFrame.EXIT_ON_CLOSE);

    javax.swing.JPanel panel = new javax.swing.JPanel();
    panel.setPreferredSize(new java.awt.Dimension(150,150) );

    javax.swing.JFileChooser chooseFile = new javax.swing.JFileChooser(); frame.getContentPane().add(java.awt.BorderLayout.CENTER,panel);

    frame.setSize(400,400);
    frame.setVisible(true);
    chooseFile.showSaveDialog(panel);



编辑:我重读了您的问题,并认为您可能希望将 JFileChooser 放在面板上,因为问题不明确。您可能想要这个:

    javax.swing.JFrame frame = new javax.swing.JFrame();
    frame.setDefaultCloseOperation(javax.swing.JFrame.EXIT_ON_CLOSE);
    javax.swing.JPanel panel = new javax.swing.JPanel();
    panel.setPreferredSize(new java.awt.Dimension(150,150) );
    javax.swing.JFileChooser chooseFile = new javax.swing.JFileChooser(); frame.getContentPane().add(java.awt.BorderLayout.CENTER,panel);
    chooseFile.setPreferredSize(new java.awt.Dimension(400, 400));
    frame.setSize(400,440);
    frame.setVisible(true);
    panel.add(chooseFile);<br><br>

关于java - 将 JFileChooser 合并到 JFrame 中间,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24942322/

相关文章:

java JFIlechooser + 资源目录

java - 如何处置 JFileChooser

java - PaintComponent 没有在整个 JPanel 中绘制

java - 如何将 KeyListener 添加到整个项目?

java - Activity 重新启动后功能发生变化

Java9 HttpClient SSLHandshakeException

java - 如何在同一个jframe中管理多个面板?

java - 使用 JFileChooser 打开文件

java - 在JAVA中创建一个方法来调用另一个类的特定格式来打印ArrayList的内容

java - Java 中的条件运算符抛出意外的 NullPointerException