1 /* 2 * Copyright (c) 1997, 2015, Oracle and/or its affiliates. All rights reserved. 3 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. 4 * 5 * This code is free software; you can redistribute it and/or modify it 6 * under the terms of the GNU General Public License version 2 only, as 7 * published by the Free Software Foundation. Oracle designates this 8 * particular file as subject to the "Classpath" exception as provided 9 * by Oracle in the LICENSE file that accompanied this code. 10 * 11 * This code is distributed in the hope that it will be useful, but WITHOUT 12 * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or 13 * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License 14 * version 2 for more details (a copy is included in the LICENSE file that 15 * accompanied this code). 16 * 17 * You should have received a copy of the GNU General Public License version 18 * 2 along with this work; if not, write to the Free Software Foundation, 19 * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. 20 * 21 * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA 22 * or visit www.oracle.com if you need additional information or have any 23 * questions. 24 */ 25 26 package javax.swing.plaf; 27 28 import javax.swing.*; 29 import javax.swing.filechooser.FileFilter; 30 import javax.swing.filechooser.FileView; 31 import java.io.File; 32 33 /** 34 * Pluggable look and feel interface for <code>JFileChooser</code>. 35 * 36 * @author Jeff Dinkins 37 */ 38 39 public abstract class FileChooserUI extends ComponentUI 40 { 41 /** 42 * Constructor for subclasses to call. 43 */ FileChooserUI()44 protected FileChooserUI() {} 45 46 /** 47 * Returns an accept-all file filter. 48 * @param fc the file chooser 49 * @return an accept-all file filter 50 */ getAcceptAllFileFilter(JFileChooser fc)51 public abstract FileFilter getAcceptAllFileFilter(JFileChooser fc); 52 /** 53 * Returns a file view. 54 * @param fc the file chooser 55 * @return a file view 56 */ getFileView(JFileChooser fc)57 public abstract FileView getFileView(JFileChooser fc); 58 59 /** 60 * Returns approve button text. 61 * @param fc the file chooser 62 * @return approve button text. 63 */ getApproveButtonText(JFileChooser fc)64 public abstract String getApproveButtonText(JFileChooser fc); 65 /** 66 * Returns the dialog title. 67 * @param fc the file chooser 68 * @return the dialog title. 69 */ getDialogTitle(JFileChooser fc)70 public abstract String getDialogTitle(JFileChooser fc); 71 72 /** 73 * Rescan the current directory. 74 * @param fc the file chooser 75 */ rescanCurrentDirectory(JFileChooser fc)76 public abstract void rescanCurrentDirectory(JFileChooser fc); 77 /** 78 * Ensure the file in question is visible. 79 * @param fc the file chooser 80 * @param f the file 81 */ ensureFileIsVisible(JFileChooser fc, File f)82 public abstract void ensureFileIsVisible(JFileChooser fc, File f); 83 84 /** 85 * Returns default button for current <code>LookAndFeel</code>. 86 * <code>JFileChooser</code> will use this button as default button 87 * for dialog windows. 88 * 89 * @param fc the {@code JFileChooser} whose default button is requested 90 * @return the default JButton for current look and feel 91 * @since 1.7 92 */ getDefaultButton(JFileChooser fc)93 public JButton getDefaultButton(JFileChooser fc) { 94 return null; 95 } 96 } 97