我正在用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/