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

  1. package com.sun.java.swing;
  2.  
  3. import com.sun.java.accessibility.Accessible;
  4. import com.sun.java.accessibility.AccessibleContext;
  5. import com.sun.java.swing.border.Border;
  6. import com.sun.java.swing.plaf.ScrollPaneUI;
  7. import java.awt.Component;
  8. import java.awt.Container;
  9.  
  10. public class JScrollPane extends JComponent implements ScrollPaneConstants, Accessible {
  11.    protected static final String[] cornerKeywords = new String[]{"LOWER_LEFT_CORNER", "LOWER_RIGHT_CORNER", "UPPER_LEFT_CORNER", "UPPER_RIGHT_CORNER"};
  12.    private Border viewportBorder;
  13.  
  14.    public JScrollPane(Component var1, int var2, int var3) {
  15.       this.updateUI();
  16.       this.setViewport(this.createViewport());
  17.       this.setViewportView(var1);
  18.       this.setVerticalScrollBarPolicy(var2);
  19.       this.setHorizontalScrollBarPolicy(var3);
  20.    }
  21.  
  22.    public JScrollPane(Component var1) {
  23.       this(var1, 20, 30);
  24.    }
  25.  
  26.    public JScrollPane(int var1, int var2) {
  27.       this((Component)null, var1, var2);
  28.    }
  29.  
  30.    public JScrollPane() {
  31.       this((Component)null, 20, 30);
  32.    }
  33.  
  34.    public ScrollPaneUI getUI() {
  35.       return (ScrollPaneUI)super.ui;
  36.    }
  37.  
  38.    public void setUI(ScrollPaneUI var1) {
  39.       super.setUI(var1);
  40.    }
  41.  
  42.    public void updateUI() {
  43.       if (super.ui != null) {
  44.          JViewport var1 = this.getViewport();
  45.          JViewport var2 = this.getRowHeader();
  46.          JViewport var3 = this.getColumnHeader();
  47.          if (var1 != null) {
  48.             ((JComponent)this).putClientProperty("VIEWPORT", var1);
  49.          }
  50.  
  51.          if (var2 != null) {
  52.             ((JComponent)this).putClientProperty("ROW_HEADER", var2);
  53.          }
  54.  
  55.          if (var3 != null) {
  56.             ((JComponent)this).putClientProperty("COLUMN_HEADER", var3);
  57.          }
  58.  
  59.          Integer var4 = new Integer(this.getVerticalScrollBarPolicy());
  60.          Integer var5 = new Integer(this.getHorizontalScrollBarPolicy());
  61.          ((JComponent)this).putClientProperty("VERTICAL_SCROLLBAR_POLICY", var4);
  62.          ((JComponent)this).putClientProperty("HORIZONTAL_SCROLLBAR_POLICY", var5);
  63.  
  64.          for(int var6 = 0; var6 < cornerKeywords.length; ++var6) {
  65.             Component var7 = this.getCorner(cornerKeywords[var6]);
  66.             if (var7 != null) {
  67.                ((JComponent)this).putClientProperty(cornerKeywords[var6], var7);
  68.             }
  69.          }
  70.       }
  71.  
  72.       this.setUI((ScrollPaneUI)UIManager.getUI(this));
  73.       if (super.ui != null) {
  74.          JViewport var8 = (JViewport)((JComponent)this).getClientProperty("VIEWPORT");
  75.          JViewport var9 = (JViewport)((JComponent)this).getClientProperty("ROW_HEADER");
  76.          JViewport var10 = (JViewport)((JComponent)this).getClientProperty("COLUMN_HEADER");
  77.          Integer var11 = (Integer)((JComponent)this).getClientProperty("VERTICAL_SCROLLBAR_POLICY");
  78.          Integer var12 = (Integer)((JComponent)this).getClientProperty("HORIZONTAL_SCROLLBAR_POLICY");
  79.          if (var11 != null) {
  80.             this.setVerticalScrollBarPolicy(var11);
  81.          }
  82.  
  83.          if (var12 != null) {
  84.             this.setHorizontalScrollBarPolicy(var12);
  85.          }
  86.  
  87.          if (var8 != null) {
  88.             this.setViewport(var8);
  89.          }
  90.  
  91.          if (var9 != null) {
  92.             this.setRowHeader(var9);
  93.          }
  94.  
  95.          if (var10 != null) {
  96.             this.setColumnHeader(var10);
  97.          }
  98.  
  99.          for(int var13 = 0; var13 < cornerKeywords.length; ++var13) {
  100.             Component var14 = (Component)((JComponent)this).getClientProperty(cornerKeywords[var13]);
  101.             if (var14 != null) {
  102.                this.setCorner(cornerKeywords[var13], var14);
  103.             } else {
  104.                this.setCorner(cornerKeywords[var13], new 1());
  105.             }
  106.          }
  107.       }
  108.  
  109.    }
  110.  
  111.    public String getUIClassID() {
  112.       return "ScrollPaneUI";
  113.    }
  114.  
  115.    public int getVerticalScrollBarPolicy() {
  116.       return this.getUI().getVerticalScrollBarPolicy();
  117.    }
  118.  
  119.    public void setVerticalScrollBarPolicy(int var1) {
  120.       if (var1 != this.getVerticalScrollBarPolicy()) {
  121.          this.getUI().setVerticalScrollBarPolicy(var1);
  122.          ((Container)this).invalidate();
  123.       }
  124.  
  125.    }
  126.  
  127.    public int getHorizontalScrollBarPolicy() {
  128.       return this.getUI().getHorizontalScrollBarPolicy();
  129.    }
  130.  
  131.    public void setHorizontalScrollBarPolicy(int var1) {
  132.       if (var1 != this.getHorizontalScrollBarPolicy()) {
  133.          this.getUI().setHorizontalScrollBarPolicy(var1);
  134.          ((Container)this).invalidate();
  135.       }
  136.  
  137.    }
  138.  
  139.    public Border getViewportBorder() {
  140.       return this.viewportBorder;
  141.    }
  142.  
  143.    public void setViewportBorder(Border var1) {
  144.       Border var2 = this.viewportBorder;
  145.       this.viewportBorder = var1;
  146.       ((JComponent)this).firePropertyChange("viewportBorder", var2, var1);
  147.    }
  148.  
  149.    public JScrollBar createHorizontalScrollBar() {
  150.       return new ScrollBar(this, 0);
  151.    }
  152.  
  153.    public JScrollBar createVerticalScrollBar() {
  154.       return new ScrollBar(this, 1);
  155.    }
  156.  
  157.    public JScrollBar getHorizontalScrollBar() {
  158.       return this.getUI().getHorizontalScrollBar();
  159.    }
  160.  
  161.    public JScrollBar getVerticalScrollBar() {
  162.       return this.getUI().getVerticalScrollBar();
  163.    }
  164.  
  165.    protected JViewport createViewport() {
  166.       return new JViewport();
  167.    }
  168.  
  169.    public JViewport getViewport() {
  170.       return this.getUI().getViewport();
  171.    }
  172.  
  173.    public void setViewport(JViewport var1) {
  174.       if (var1 != this.getViewport()) {
  175.          this.getUI().setViewport(var1);
  176.          ((Container)this).invalidate();
  177.          if (super.accessibleContext != null) {
  178.             ((AccessibleJScrollPane)super.accessibleContext).resetViewPort();
  179.          }
  180.       }
  181.  
  182.    }
  183.  
  184.    public void setViewportView(Component var1) {
  185.       if (this.getViewport() == null) {
  186.          this.setViewport(this.createViewport());
  187.       }
  188.  
  189.       this.getViewport().setView(var1);
  190.    }
  191.  
  192.    public JViewport getRowHeader() {
  193.       return this.getUI().getRowHeader();
  194.    }
  195.  
  196.    public void setRowHeader(JViewport var1) {
  197.       if (var1 != this.getRowHeader()) {
  198.          this.getUI().setRowHeader(var1);
  199.          ((Container)this).invalidate();
  200.       }
  201.  
  202.    }
  203.  
  204.    public void setRowHeaderView(Component var1) {
  205.       if (this.getRowHeader() == null) {
  206.          this.setRowHeader(this.createViewport());
  207.       }
  208.  
  209.       this.getRowHeader().setView(var1);
  210.    }
  211.  
  212.    public JViewport getColumnHeader() {
  213.       return this.getUI().getColumnHeader();
  214.    }
  215.  
  216.    public void setColumnHeader(JViewport var1) {
  217.       if (var1 != this.getColumnHeader()) {
  218.          this.getUI().setColumnHeader(var1);
  219.          ((Container)this).invalidate();
  220.       }
  221.  
  222.    }
  223.  
  224.    public void setColumnHeaderView(Component var1) {
  225.       if (this.getColumnHeader() == null) {
  226.          this.setColumnHeader(this.createViewport());
  227.       }
  228.  
  229.       this.getColumnHeader().setView(var1);
  230.    }
  231.  
  232.    public Component getCorner(String var1) {
  233.       return this.getUI().getCorner(var1);
  234.    }
  235.  
  236.    public void setCorner(String var1, Component var2) {
  237.       if (var2 != this.getCorner(var1)) {
  238.          this.getUI().setCorner(var1, var2);
  239.          ((Container)this).invalidate();
  240.       }
  241.  
  242.    }
  243.  
  244.    public boolean isOpaque() {
  245.       JViewport var1;
  246.       Component var2;
  247.       return (var1 = this.getViewport()) != null && (var2 = var1.getView()) != null && var2 instanceof JComponent && ((JComponent)var2).isOpaque() && ((JComponent)var2).getWidth() >= ((JComponent)var1).getWidth() && ((JComponent)var2).getHeight() >= ((JComponent)var1).getHeight();
  248.    }
  249.  
  250.    public boolean isValidateRoot() {
  251.       return true;
  252.    }
  253.  
  254.    public AccessibleContext getAccessibleContext() {
  255.       if (super.accessibleContext == null) {
  256.          super.accessibleContext = new AccessibleJScrollPane(this);
  257.       }
  258.  
  259.       return super.accessibleContext;
  260.    }
  261. }
  262.