下面列出了javax.swing.JFileChooser#getDialogType ( ) 实例代码,或者点击链接到github查看源代码,也可以在右侧发表评论。
private void updateView(JFileChooser chooser) {
if (chooser.getApproveButtonText() != null) {
approveButton.setText(chooser.getApproveButtonText());
approveButton.setMnemonic(chooser.getApproveButtonMnemonic());
} else {
if (JFileChooser.OPEN_DIALOG == chooser.getDialogType()) {
approveButton.setText(openButtonText);
approveButton.setToolTipText(openButtonToolTipText);
approveButton.setMnemonic(openButtonMnemonic);
} else {
approveButton.setText(saveButtonText);
approveButton.setToolTipText(saveButtonToolTipText);
approveButton.setMnemonic(saveButtonMnemonic);
}
}
cancelButton.setText(cancelButtonText);
cancelButton.setMnemonic(cancelButtonMnemonic);
buttonPanel.setVisible(chooser.getControlButtonsAreShown());
}
private Icon getApproveButtonIcon(JFileChooser fc) {
if (fc.getDialogType() == JFileChooser.OPEN_DIALOG) {
return FILECHOOSER_OPEN_ICON;
}
if (fc.getDialogType() == JFileChooser.SAVE_DIALOG) {
return FILECHOOSER_SAVE_ICON;
}
if (fc.getDialogType() == JFileChooser.CUSTOM_DIALOG) {
return FILECHOOSER_SELECT_ICON;
}
return FILECHOOSER_SELECT_ICON;
}
private void doDialogTypeChanged(PropertyChangeEvent e) {
JFileChooser chooser = getFileChooser();
this.approveButton.setText(getApproveButtonText(chooser));
this.approveButton.setToolTipText(getApproveButtonToolTipText(chooser));
this.approveButton.setIcon(getApproveButtonIcon(chooser));
if (chooser.getDialogType() == JFileChooser.SAVE_DIALOG) {
this.lookInLabel.setText(this.saveInLabelText);
} else {
this.lookInLabel.setText(this.lookInLabelText);
}
}
private static int showNativeFileDialog(final JFileChooser chooser) {
final FileDialog result = new FileDialog((Frame) chooser.getParent());
result.setDirectory(chooser.getCurrentDirectory().getPath());
final File selected = chooser.getSelectedFile();
result.setFile(selected == null ? "" : selected.getPath());
result.setFilenameFilter(new FilenameFilter() {
@Override
public boolean accept(final File dir, final String name) {
return chooser.getFileFilter().accept(new File(dir.getPath() + File.pathSeparator + name));
}
});
if (chooser.getDialogType() == SAVE_DIALOG) {
result.setMode(FileDialog.SAVE);
} else {
// The native dialog only support Open and Save
result.setMode(FileDialog.LOAD);
}
if (chooser.getFileSelectionMode() == DIRECTORIES_ONLY) {
System.setProperty("apple.awt.fileDialogForDirectories", "true");
}
// Display dialog
result.setVisible(true);
System.setProperty("apple.awt.fileDialogForDirectories", "false");
if (result.getFile() == null) {
return CANCEL_OPTION;
}
final String selectedDir = result.getDirectory();
chooser
.setSelectedFile(new File(FileUtils.ensureTrailingSlash(selectedDir) + result.getFile()));
return APPROVE_OPTION;
}