Я создаю мастер открытия файлов, а JFileChooser открывается из кнопки обзора в начальном окне. В настоящее время я настроен таким образом, чтобы кнопка обзора открывала это первое окно и одновременно открывала окно JFileChooser. Я предпочел бы, чтобы окно было удалено после пользователь выбрал их файл, если они хотят отменить и вернуться в исходное окно - этого в настоящее время невозможно.Закрытие предыдущего окна от кнопки JFileChooser Open
Вот соответствующий код:
class BrowseButton extends JButton {
public BrowseButton(String name, final JPanel pane) {
super(name);
addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent event) {
JFileChooser fileopen = new JFileChooser();
FileFilter filter = new FileNameExtensionFilter("dwg files", "dwg");
fileopen.addChoosableFileFilter(filter);
int ret = fileopen.showDialog(pane, "Open");
if (ret == JFileChooser.APPROVE_OPTION) {
File file = fileopen.getSelectedFile();
String[] layers = getFileLayers(file.getPath());
openLayerWindow(layers);
}
}
});
addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent event) {
dispose();
}
});
}
и когда кнопка инстанциируется ...
//Bottom Panel
final JPanel bottom = new JPanel(new FlowLayout(FlowLayout.RIGHT));
BrowseButton browse = new BrowseButton("Browse...", bottom);
browse.setMnemonic(KeyEvent.VK_B);
CloseButton close = new CloseButton("Close");
close.setMnemonic(KeyEvent.VK_C);
bottom.add(close);
bottom.add(browse);
basic.add(bottom);
Для более эффективной помощи следует отправить сообщение [SSCCE] (http://sscce.org/). –
Не могли бы вы сбросить 'dispose' и просто' setVisible (false) 'вместо этого? Затем проверьте, выбран ли файл или нет. –
JFileChooser можно поместить в диалог. Таким образом, пользователь закрывает окно, нажимая кнопки «ОК» или «Отмена». http://docs.oracle.com/javase/tutorial/uiswing/components/filechooser.html –