home *** CD-ROM | disk | FTP | other *** search
/ PC Plus SuperCD (UK) 2000 March / pcp161a.iso / handson / files / copyjava.exe / com / sun / java / swing / preview / JFileChooser.class (.txt) < prev    next >
Encoding:
Java Class File  |  1998-02-26  |  7.2 KB  |  265 lines

  1. package com.sun.java.swing.preview;
  2.  
  3. import com.sun.java.accessibility.Accessible;
  4. import com.sun.java.accessibility.AccessibleContext;
  5. import com.sun.java.swing.Icon;
  6. import com.sun.java.swing.JComponent;
  7. import com.sun.java.swing.JDialog;
  8. import com.sun.java.swing.SwingConstants;
  9. import com.sun.java.swing.SwingUtilities;
  10. import com.sun.java.swing.UIManager;
  11. import com.sun.java.swing.plaf.FileChooserUI;
  12. import java.awt.BorderLayout;
  13. import java.awt.Component;
  14. import java.awt.Container;
  15. import java.awt.Dialog;
  16. import java.awt.Frame;
  17. import java.awt.Window;
  18. import java.awt.event.ActionListener;
  19. import java.beans.PropertyChangeListener;
  20. import java.io.File;
  21. import java.util.Enumeration;
  22. import java.util.Vector;
  23.  
  24. public class JFileChooser extends JComponent implements SwingConstants, Accessible {
  25.    protected Vector choosableTypes;
  26.    protected String prompt;
  27.    protected String typesTitle;
  28.    protected String locationTitle;
  29.    protected String okayTitle;
  30.    protected String cancelTitle;
  31.    protected static String DefaultPrompt = "File Name:";
  32.    protected static String DefaultTypesTitle = "Files of Type:";
  33.    protected static String DefaultLocationTitle = "Look in:";
  34.    protected static String DefaultOkayTitle = "OK";
  35.    protected static String DefaultCancelTitle = "Cancel";
  36.    protected String okayCommand;
  37.    protected String cancelCommand;
  38.    protected static String DefaultOkayCommand = "OKAY";
  39.    protected static String DefaultCancelCommand = "CANCEL";
  40.    protected JDirectoryPane directoryPane;
  41.    protected Component accessory;
  42.    // $FF: synthetic field
  43.    static Class class$java$awt$Frame;
  44.  
  45.    public JFileChooser() {
  46.       this((File)null);
  47.    }
  48.  
  49.    public JFileChooser(String var1) {
  50.       this(var1 == null ? null : new File(var1));
  51.    }
  52.  
  53.    public JFileChooser(File var1) {
  54.       this.choosableTypes = new Vector();
  55.       this.prompt = DefaultPrompt;
  56.       this.typesTitle = DefaultTypesTitle;
  57.       this.locationTitle = DefaultLocationTitle;
  58.       this.okayTitle = DefaultOkayTitle;
  59.       this.cancelTitle = DefaultCancelTitle;
  60.       this.okayCommand = DefaultOkayCommand;
  61.       this.cancelCommand = DefaultCancelCommand;
  62.       this.directoryPane = new JDirectoryPane(var1);
  63.       this.updateUI();
  64.    }
  65.  
  66.    public String getPrompt() {
  67.       return this.prompt;
  68.    }
  69.  
  70.    public void setPrompt(String var1) {
  71.       String var2 = this.prompt;
  72.       this.prompt = var1;
  73.       ((JComponent)this).firePropertyChange("prompt", var2, var1);
  74.    }
  75.  
  76.    public String getTypesTitle() {
  77.       return this.typesTitle;
  78.    }
  79.  
  80.    public void setTypesTitle(String var1) {
  81.       String var2 = this.typesTitle;
  82.       this.typesTitle = var1;
  83.       ((JComponent)this).firePropertyChange("typesTitle", var2, var1);
  84.    }
  85.  
  86.    public String getLocationTitle() {
  87.       return this.locationTitle;
  88.    }
  89.  
  90.    public void setLocationTitle(String var1) {
  91.       String var2 = this.locationTitle;
  92.       this.locationTitle = var1;
  93.       ((JComponent)this).firePropertyChange("locationTitle", var2, var1);
  94.    }
  95.  
  96.    public String getOkayTitle() {
  97.       return this.okayTitle;
  98.    }
  99.  
  100.    public void setOkayTitle(String var1) {
  101.       String var2 = this.okayTitle;
  102.       this.okayTitle = var1;
  103.       ((JComponent)this).firePropertyChange("okayTitle", var2, var1);
  104.    }
  105.  
  106.    public String getCancelTitle() {
  107.       return this.cancelTitle;
  108.    }
  109.  
  110.    public void setCancelTitle(String var1) {
  111.       String var2 = this.cancelTitle;
  112.       this.cancelTitle = var1;
  113.       ((JComponent)this).firePropertyChange("cancelTitle", var2, var1);
  114.    }
  115.  
  116.    public JDirectoryPane getDirectoryPane() {
  117.       return this.directoryPane;
  118.    }
  119.  
  120.    public TypedFile getSelectedFile() {
  121.       return this.directoryPane.getSelectedFile();
  122.    }
  123.  
  124.    public void performOkay() {
  125.       this.directoryPane.fireActionPerformed(this.getOkayCommand());
  126.    }
  127.  
  128.    public void performCancel() {
  129.       this.directoryPane.fireActionPerformed(this.getCancelCommand());
  130.    }
  131.  
  132.    public String getOkayCommand() {
  133.       return this.okayCommand;
  134.    }
  135.  
  136.    public void setOkayCommand(String var1) {
  137.       String var2 = this.okayCommand;
  138.       this.okayCommand = var1;
  139.       ((JComponent)this).firePropertyChange("okayCommand", var2, var1);
  140.    }
  141.  
  142.    public String getCancelCommand() {
  143.       return this.cancelCommand;
  144.    }
  145.  
  146.    public void setCancelCommand(String var1) {
  147.       String var2 = this.cancelCommand;
  148.       this.cancelCommand = var1;
  149.       ((JComponent)this).firePropertyChange("cancelCommand", var2, var1);
  150.    }
  151.  
  152.    public int showDialog(Component var1) {
  153.       Frame var2 = var1 instanceof Frame ? (Frame)var1 : (Frame)SwingUtilities.getAncestorOfClass(class$java$awt$Frame != null ? class$java$awt$Frame : (class$java$awt$Frame = class$("java.awt.Frame")), var1);
  154.       JDialog var3 = new JDialog(var2, "Save", true);
  155.       Container var4 = var3.getContentPane();
  156.       var4.setLayout(new BorderLayout());
  157.       var4.add(this, "Center");
  158.       ((Window)var3).pack();
  159.       var3.setLocationRelativeTo(var1);
  160.       ModalListener var5 = new ModalListener(this, var3);
  161.       this.directoryPane.addActionListener(var5);
  162.       ((Dialog)var3).show();
  163.       this.directoryPane.removeActionListener(var5);
  164.       return var5.returnValue;
  165.    }
  166.  
  167.    public Component getAccessory() {
  168.       return this.accessory;
  169.    }
  170.  
  171.    public void setAccessory(Component var1) {
  172.       Component var2 = this.accessory;
  173.       if (var2 instanceof PropertyChangeListener) {
  174.          ((JComponent)this).removePropertyChangeListener((PropertyChangeListener)var2);
  175.       }
  176.  
  177.       if (var2 instanceof ActionListener) {
  178.          this.directoryPane.removeActionListener((ActionListener)var2);
  179.       }
  180.  
  181.       this.accessory = var1;
  182.       if (var1 instanceof PropertyChangeListener) {
  183.          ((JComponent)this).addPropertyChangeListener((PropertyChangeListener)var1);
  184.       }
  185.  
  186.       if (var1 instanceof ActionListener) {
  187.          this.directoryPane.addActionListener((ActionListener)var1);
  188.       }
  189.  
  190.       ((JComponent)this).firePropertyChange("accessory", var2, var1);
  191.    }
  192.  
  193.    public void addChoosableFileType(String var1, String var2, Icon var3) {
  194.       FileType.ExtensionBased var4 = new FileType.ExtensionBased(var1, var2, var3);
  195.       this.addChoosableFileType(var4);
  196.    }
  197.  
  198.    public void addChoosableFileType(String var1, String[] var2, Icon var3) {
  199.       FileType.ExtensionBased var4 = new FileType.ExtensionBased(var1, var2, var3);
  200.       this.addChoosableFileType(var4);
  201.    }
  202.  
  203.    public void addChoosableFileType(FileType var1) {
  204.       if (!this.choosableTypes.contains(var1)) {
  205.          this.choosableTypes.addElement(var1);
  206.       }
  207.  
  208.       if (!this.directoryPane.isKnownFileType(var1)) {
  209.          this.directoryPane.addKnownFileType(var1);
  210.       }
  211.  
  212.       ((JComponent)this).firePropertyChange("choosableFileTypes", (Object)null, (Object)null);
  213.    }
  214.  
  215.    public Enumeration enumerateChoosableFileTypes() {
  216.       return this.choosableTypes.elements();
  217.    }
  218.  
  219.    public Vector getChoosableFileTypes() {
  220.       return (Vector)this.choosableTypes.clone();
  221.    }
  222.  
  223.    public boolean isChoosableFileType(FileType var1) {
  224.       return this.choosableTypes.contains(var1);
  225.    }
  226.  
  227.    public void setChoosableFileTypes(FileType[] var1) {
  228.       int var2 = var1.length;
  229.       Vector var3 = this.choosableTypes = new Vector(var2);
  230.       var3.setSize(var2);
  231.  
  232.       for(int var4 = 0; var4 < var2; ++var4) {
  233.          FileType var5 = var1[var4];
  234.          var3.setElementAt(var5, var4);
  235.       }
  236.  
  237.       ((JComponent)this).firePropertyChange("choosableFileTypes", (Object)null, (Object)null);
  238.    }
  239.  
  240.    public void updateUI() {
  241.       ((JComponent)this).setUI((FileChooserUI)UIManager.getUI(this));
  242.    }
  243.  
  244.    public String getUIClassID() {
  245.       return "FileChooserUI";
  246.    }
  247.  
  248.    public AccessibleContext getAccessibleContext() {
  249.       if (super.accessibleContext == null) {
  250.          super.accessibleContext = new AccessibleJFileChooser(this);
  251.       }
  252.  
  253.       return super.accessibleContext;
  254.    }
  255.  
  256.    // $FF: synthetic method
  257.    static Class class$(String var0) {
  258.       try {
  259.          return Class.forName(var0);
  260.       } catch (ClassNotFoundException var2) {
  261.          throw new NoClassDefFoundError(((Throwable)var2).getMessage());
  262.       }
  263.    }
  264. }
  265.