diff --git a/jdk/src/share/classes/com/sun/java/swing/plaf/motif/MotifLookAndFeel.java b/jdk/src/share/classes/com/sun/java/swing/plaf/motif/MotifLookAndFeel.java index e91dbb9e718..b758d50dcde 100644 --- a/jdk/src/share/classes/com/sun/java/swing/plaf/motif/MotifLookAndFeel.java +++ b/jdk/src/share/classes/com/sun/java/swing/plaf/motif/MotifLookAndFeel.java @@ -1222,9 +1222,7 @@ public class MotifLookAndFeel extends BasicLookAndFeel "FileChooser.enterFileNameLabelMnemonic", new Integer (KeyEvent.VK_N), // 'n' "FileChooser.ancestorInputMap", new UIDefaults.LazyInputMap(new Object[] { - "ESCAPE", "cancelSelection", - "ENTER", "approveSelection", - "ctrl ENTER", "approveSelection" + "ESCAPE", "cancelSelection" }), diff --git a/jdk/src/share/classes/com/sun/java/swing/plaf/windows/WindowsLookAndFeel.java b/jdk/src/share/classes/com/sun/java/swing/plaf/windows/WindowsLookAndFeel.java index 9af41fc39c8..69ccdf720a6 100644 --- a/jdk/src/share/classes/com/sun/java/swing/plaf/windows/WindowsLookAndFeel.java +++ b/jdk/src/share/classes/com/sun/java/swing/plaf/windows/WindowsLookAndFeel.java @@ -825,9 +825,7 @@ public class WindowsLookAndFeel extends BasicLookAndFeel "ESCAPE", "cancelSelection", "F2", "editFileName", "F5", "refresh", - "BACK_SPACE", "Go Up", - "ENTER", "approveSelection", - "ctrl ENTER", "approveSelection" + "BACK_SPACE", "Go Up" }), "FileView.directoryIcon", SwingUtilities2.makeIcon(getClass(), diff --git a/jdk/src/share/classes/javax/swing/JFileChooser.java b/jdk/src/share/classes/javax/swing/JFileChooser.java index 8a2b2d5393f..344565a1f3f 100644 --- a/jdk/src/share/classes/javax/swing/JFileChooser.java +++ b/jdk/src/share/classes/javax/swing/JFileChooser.java @@ -770,7 +770,8 @@ public class JFileChooser extends JComponent implements Accessible { * @since 1.4 */ protected JDialog createDialog(Component parent) throws HeadlessException { - String title = getUI().getDialogTitle(this); + FileChooserUI ui = getUI(); + String title = ui.getDialogTitle(this); putClientProperty(AccessibleContext.ACCESSIBLE_DESCRIPTION_PROPERTY, title); @@ -794,6 +795,7 @@ public class JFileChooser extends JComponent implements Accessible { dialog.getRootPane().setWindowDecorationStyle(JRootPane.FILE_CHOOSER_DIALOG); } } + dialog.getRootPane().setDefaultButton(ui.getDefaultButton(this)); dialog.pack(); dialog.setLocationRelativeTo(parent); diff --git a/jdk/src/share/classes/javax/swing/plaf/FileChooserUI.java b/jdk/src/share/classes/javax/swing/plaf/FileChooserUI.java index 78064e08efc..aaab089cc81 100644 --- a/jdk/src/share/classes/javax/swing/plaf/FileChooserUI.java +++ b/jdk/src/share/classes/javax/swing/plaf/FileChooserUI.java @@ -25,7 +25,7 @@ package javax.swing.plaf; -import javax.swing.JFileChooser; +import javax.swing.*; import javax.swing.filechooser.FileFilter; import javax.swing.filechooser.FileView; import java.io.File; @@ -46,4 +46,15 @@ public abstract class FileChooserUI extends ComponentUI public abstract void rescanCurrentDirectory(JFileChooser fc); public abstract void ensureFileIsVisible(JFileChooser fc, File f); + + /** + * Returns default button for current LookAndFeel. + * JFileChooser will use this button as default button + * for dialog windows. + * + * @since 1.7 + */ + public JButton getDefaultButton(JFileChooser fc) { + return null; + } } diff --git a/jdk/src/share/classes/javax/swing/plaf/basic/BasicFileChooserUI.java b/jdk/src/share/classes/javax/swing/plaf/basic/BasicFileChooserUI.java index 5a9daae328d..e8728d807a4 100644 --- a/jdk/src/share/classes/javax/swing/plaf/basic/BasicFileChooserUI.java +++ b/jdk/src/share/classes/javax/swing/plaf/basic/BasicFileChooserUI.java @@ -384,6 +384,10 @@ public class BasicFileChooserUI extends FileChooserUI { return null; } + public JButton getDefaultButton(JFileChooser fc) { + return getApproveButton(fc); + } + public String getApproveButtonToolTipText(JFileChooser fc) { String tooltipText = fc.getApproveButtonToolTipText(); if(tooltipText != null) { diff --git a/jdk/src/share/classes/javax/swing/plaf/metal/MetalLookAndFeel.java b/jdk/src/share/classes/javax/swing/plaf/metal/MetalLookAndFeel.java index d1f7c05935d..27279940966 100644 --- a/jdk/src/share/classes/javax/swing/plaf/metal/MetalLookAndFeel.java +++ b/jdk/src/share/classes/javax/swing/plaf/metal/MetalLookAndFeel.java @@ -853,9 +853,7 @@ public class MetalLookAndFeel extends BasicLookAndFeel "ESCAPE", "cancelSelection", "F2", "editFileName", "F5", "refresh", - "BACK_SPACE", "Go Up", - "ENTER", "approveSelection", - "ctrl ENTER", "approveSelection" + "BACK_SPACE", "Go Up" }),