home *** CD-ROM | disk | FTP | other *** search
/ Cre@te Online 2000 December / Cre@teOnline CD05.iso / MacSoft / XML ConsoleMax.sea / XML ConsoleMax / Required / swingall.jar / javax / swing / JScrollPane.class (.txt) < prev    next >
Encoding:
Java Class File  |  1999-07-15  |  9.0 KB  |  375 lines

  1. package javax.swing;
  2.  
  3. import java.awt.Component;
  4. import java.awt.Container;
  5. import java.awt.Insets;
  6. import java.awt.LayoutManager;
  7. import java.awt.Rectangle;
  8. import java.io.IOException;
  9. import java.io.ObjectOutputStream;
  10. import javax.accessibility.Accessible;
  11. import javax.accessibility.AccessibleContext;
  12. import javax.swing.border.Border;
  13. import javax.swing.plaf.ScrollPaneUI;
  14.  
  15. public class JScrollPane extends JComponent implements ScrollPaneConstants, Accessible {
  16.    private Border viewportBorder;
  17.    private static final String uiClassID = "ScrollPaneUI";
  18.    protected int verticalScrollBarPolicy;
  19.    protected int horizontalScrollBarPolicy;
  20.    protected JViewport viewport;
  21.    protected JScrollBar verticalScrollBar;
  22.    protected JScrollBar horizontalScrollBar;
  23.    protected JViewport rowHeader;
  24.    protected JViewport columnHeader;
  25.    protected Component lowerLeft;
  26.    protected Component lowerRight;
  27.    protected Component upperLeft;
  28.    protected Component upperRight;
  29.  
  30.    public JScrollPane() {
  31.       this((Component)null, 20, 30);
  32.    }
  33.  
  34.    public JScrollPane(int var1, int var2) {
  35.       this((Component)null, var1, var2);
  36.    }
  37.  
  38.    public JScrollPane(Component var1) {
  39.       this(var1, 20, 30);
  40.    }
  41.  
  42.    public JScrollPane(Component var1, int var2, int var3) {
  43.       this.verticalScrollBarPolicy = 20;
  44.       this.horizontalScrollBarPolicy = 30;
  45.       this.setLayout(new ScrollPaneLayout.UIResource());
  46.       this.setVerticalScrollBarPolicy(var2);
  47.       this.setHorizontalScrollBarPolicy(var3);
  48.       this.setViewport(this.createViewport());
  49.       this.setVerticalScrollBar(this.createVerticalScrollBar());
  50.       this.setHorizontalScrollBar(this.createHorizontalScrollBar());
  51.       if (var1 != null) {
  52.          this.setViewportView(var1);
  53.       }
  54.  
  55.       this.updateUI();
  56.    }
  57.  
  58.    public JScrollBar createHorizontalScrollBar() {
  59.       return new ScrollBar(this, 0);
  60.    }
  61.  
  62.    public JScrollBar createVerticalScrollBar() {
  63.       return new ScrollBar(this, 1);
  64.    }
  65.  
  66.    protected JViewport createViewport() {
  67.       return new JViewport();
  68.    }
  69.  
  70.    public AccessibleContext getAccessibleContext() {
  71.       if (super.accessibleContext == null) {
  72.          super.accessibleContext = new AccessibleJScrollPane(this);
  73.       }
  74.  
  75.       return super.accessibleContext;
  76.    }
  77.  
  78.    public JViewport getColumnHeader() {
  79.       return this.columnHeader;
  80.    }
  81.  
  82.    public Component getCorner(String var1) {
  83.       if (var1.equals("LOWER_LEFT_CORNER")) {
  84.          return this.lowerLeft;
  85.       } else if (var1.equals("LOWER_RIGHT_CORNER")) {
  86.          return this.lowerRight;
  87.       } else if (var1.equals("UPPER_LEFT_CORNER")) {
  88.          return this.upperLeft;
  89.       } else {
  90.          return var1.equals("UPPER_RIGHT_CORNER") ? this.upperRight : null;
  91.       }
  92.    }
  93.  
  94.    public JScrollBar getHorizontalScrollBar() {
  95.       return this.horizontalScrollBar;
  96.    }
  97.  
  98.    public int getHorizontalScrollBarPolicy() {
  99.       return this.horizontalScrollBarPolicy;
  100.    }
  101.  
  102.    public JViewport getRowHeader() {
  103.       return this.rowHeader;
  104.    }
  105.  
  106.    public ScrollPaneUI getUI() {
  107.       return (ScrollPaneUI)super.ui;
  108.    }
  109.  
  110.    public String getUIClassID() {
  111.       return "ScrollPaneUI";
  112.    }
  113.  
  114.    public JScrollBar getVerticalScrollBar() {
  115.       return this.verticalScrollBar;
  116.    }
  117.  
  118.    public int getVerticalScrollBarPolicy() {
  119.       return this.verticalScrollBarPolicy;
  120.    }
  121.  
  122.    public JViewport getViewport() {
  123.       return this.viewport;
  124.    }
  125.  
  126.    public Border getViewportBorder() {
  127.       return this.viewportBorder;
  128.    }
  129.  
  130.    public Rectangle getViewportBorderBounds() {
  131.       Rectangle var1 = new Rectangle(((Component)this).getSize());
  132.       Insets var2 = ((JComponent)this).getInsets();
  133.       var1.x = var2.left;
  134.       var1.y = var2.top;
  135.       var1.width -= var2.left + var2.right;
  136.       var1.height -= var2.top + var2.bottom;
  137.       JViewport var3 = this.getColumnHeader();
  138.       if (var3 != null && ((Component)var3).isVisible()) {
  139.          int var4 = ((JComponent)var3).getHeight();
  140.          var1.y += var4;
  141.          var1.height -= var4;
  142.       }
  143.  
  144.       JViewport var7 = this.getRowHeader();
  145.       if (var7 != null && ((Component)var7).isVisible()) {
  146.          int var5 = ((JComponent)var7).getWidth();
  147.          var1.x += var5;
  148.          var1.width -= var5;
  149.       }
  150.  
  151.       JScrollBar var8 = this.getVerticalScrollBar();
  152.       if (var8 != null && ((Component)var8).isVisible()) {
  153.          var1.width -= ((JComponent)var8).getWidth();
  154.       }
  155.  
  156.       JScrollBar var6 = this.getHorizontalScrollBar();
  157.       if (var6 != null && ((Component)var6).isVisible()) {
  158.          var1.height -= ((JComponent)var6).getHeight();
  159.       }
  160.  
  161.       return var1;
  162.    }
  163.  
  164.    public boolean isOpaque() {
  165.       JViewport var1;
  166.       Component var2;
  167.       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();
  168.    }
  169.  
  170.    public boolean isValidateRoot() {
  171.       return true;
  172.    }
  173.  
  174.    protected String paramString() {
  175.       String var1 = this.viewportBorder != null ? this.viewportBorder.toString() : "";
  176.       String var2 = this.viewport != null ? this.viewport.toString() : "";
  177.       String var3;
  178.       if (this.verticalScrollBarPolicy == 20) {
  179.          var3 = "VERTICAL_SCROLLBAR_AS_NEEDED";
  180.       } else if (this.verticalScrollBarPolicy == 21) {
  181.          var3 = "VERTICAL_SCROLLBAR_NEVER";
  182.       } else if (this.verticalScrollBarPolicy == 22) {
  183.          var3 = "VERTICAL_SCROLLBAR_ALWAYS";
  184.       } else {
  185.          var3 = "";
  186.       }
  187.  
  188.       String var4;
  189.       if (this.horizontalScrollBarPolicy == 30) {
  190.          var4 = "HORIZONTAL_SCROLLBAR_AS_NEEDED";
  191.       } else if (this.horizontalScrollBarPolicy == 31) {
  192.          var4 = "HORIZONTAL_SCROLLBAR_NEVER";
  193.       } else if (this.horizontalScrollBarPolicy == 32) {
  194.          var4 = "HORIZONTAL_SCROLLBAR_ALWAYS";
  195.       } else {
  196.          var4 = "";
  197.       }
  198.  
  199.       String var5 = this.horizontalScrollBar != null ? this.horizontalScrollBar.toString() : "";
  200.       String var6 = this.verticalScrollBar != null ? this.verticalScrollBar.toString() : "";
  201.       String var7 = this.columnHeader != null ? this.columnHeader.toString() : "";
  202.       String var8 = this.rowHeader != null ? this.rowHeader.toString() : "";
  203.       String var9 = this.lowerLeft != null ? this.lowerLeft.toString() : "";
  204.       String var10 = this.lowerRight != null ? this.lowerRight.toString() : "";
  205.       String var11 = this.upperLeft != null ? this.upperLeft.toString() : "";
  206.       String var12 = this.upperRight != null ? this.upperRight.toString() : "";
  207.       return super.paramString() + ",columnHeader=" + var7 + ",horizontalScrollBar=" + var5 + ",horizontalScrollBarPolicy=" + var4 + ",lowerLeft=" + var9 + ",lowerRight=" + var10 + ",rowHeader=" + var8 + ",upperLeft=" + var11 + ",upperRight=" + var12 + ",verticalScrollBar=" + var6 + ",verticalScrollBarPolicy=" + var3 + ",viewport=" + var2 + ",viewportBorder=" + var1;
  208.    }
  209.  
  210.    public void setColumnHeader(JViewport var1) {
  211.       JViewport var2 = this.getColumnHeader();
  212.       this.columnHeader = var1;
  213.       if (var1 != null) {
  214.          ((Container)this).add(var1, "COLUMN_HEADER");
  215.       } else if (var2 != null) {
  216.          ((Container)this).remove(var1);
  217.       }
  218.  
  219.       ((JComponent)this).firePropertyChange("columnHeader", var2, var1);
  220.       ((JComponent)this).revalidate();
  221.       ((Component)this).repaint();
  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 void setCorner(String var1, Component var2) {
  233.       Component var3;
  234.       if (var1.equals("LOWER_LEFT_CORNER")) {
  235.          var3 = this.lowerLeft;
  236.          this.lowerLeft = var2;
  237.       } else if (var1.equals("LOWER_RIGHT_CORNER")) {
  238.          var3 = this.lowerRight;
  239.          this.lowerRight = var2;
  240.       } else if (var1.equals("UPPER_LEFT_CORNER")) {
  241.          var3 = this.upperLeft;
  242.          this.upperLeft = var2;
  243.       } else {
  244.          if (!var1.equals("UPPER_RIGHT_CORNER")) {
  245.             throw new IllegalArgumentException("invalid corner key");
  246.          }
  247.  
  248.          var3 = this.upperRight;
  249.          this.upperRight = var2;
  250.       }
  251.  
  252.       ((Container)this).add(var2, var1);
  253.       ((JComponent)this).firePropertyChange(var1, var3, var2);
  254.    }
  255.  
  256.    public void setHorizontalScrollBar(JScrollBar var1) {
  257.       JScrollBar var2 = this.getHorizontalScrollBar();
  258.       this.horizontalScrollBar = var1;
  259.       ((Container)this).add(var1, "HORIZONTAL_SCROLLBAR");
  260.       ((JComponent)this).firePropertyChange("horizontalScrollBar", var2, var1);
  261.    }
  262.  
  263.    public void setHorizontalScrollBarPolicy(int var1) {
  264.       switch (var1) {
  265.          case 30:
  266.          case 31:
  267.          case 32:
  268.             int var2 = this.horizontalScrollBarPolicy;
  269.             this.horizontalScrollBarPolicy = var1;
  270.             ((JComponent)this).firePropertyChange("horizontalScrollBarPolicy", var2, var1);
  271.             return;
  272.          default:
  273.             throw new IllegalArgumentException("invalid horizontalScrollBarPolicy");
  274.       }
  275.    }
  276.  
  277.    public void setLayout(LayoutManager var1) {
  278.       if (var1 != null && !(var1 instanceof ScrollPaneLayout)) {
  279.          String var2 = "layout of JScrollPane must be a ScrollPaneLayout";
  280.          throw new ClassCastException(var2);
  281.       } else {
  282.          super.setLayout(var1);
  283.       }
  284.    }
  285.  
  286.    public void setRowHeader(JViewport var1) {
  287.       JViewport var2 = this.getRowHeader();
  288.       this.rowHeader = var1;
  289.       if (var1 != null) {
  290.          ((Container)this).add(var1, "ROW_HEADER");
  291.       } else if (var2 != null) {
  292.          ((Container)this).remove(var2);
  293.       }
  294.  
  295.       ((JComponent)this).firePropertyChange("rowHeader", var2, var1);
  296.    }
  297.  
  298.    public void setRowHeaderView(Component var1) {
  299.       if (this.getRowHeader() == null) {
  300.          this.setRowHeader(this.createViewport());
  301.       }
  302.  
  303.       this.getRowHeader().setView(var1);
  304.    }
  305.  
  306.    public void setUI(ScrollPaneUI var1) {
  307.       super.setUI(var1);
  308.    }
  309.  
  310.    public void setVerticalScrollBar(JScrollBar var1) {
  311.       JScrollBar var2 = this.getVerticalScrollBar();
  312.       this.verticalScrollBar = var1;
  313.       ((Container)this).add(var1, "VERTICAL_SCROLLBAR");
  314.       ((JComponent)this).firePropertyChange("verticalScrollBar", var2, var1);
  315.    }
  316.  
  317.    public void setVerticalScrollBarPolicy(int var1) {
  318.       switch (var1) {
  319.          case 20:
  320.          case 21:
  321.          case 22:
  322.             int var2 = this.verticalScrollBarPolicy;
  323.             this.verticalScrollBarPolicy = var1;
  324.             ((JComponent)this).firePropertyChange("verticalScrollBarPolicy", var2, var1);
  325.             return;
  326.          default:
  327.             throw new IllegalArgumentException("invalid verticalScrollBarPolicy");
  328.       }
  329.    }
  330.  
  331.    public void setViewport(JViewport var1) {
  332.       JViewport var2 = this.getViewport();
  333.       this.viewport = var1;
  334.       if (var1 != null) {
  335.          ((Container)this).add(var1, "VIEWPORT");
  336.       } else if (var2 != null) {
  337.          ((Container)this).remove(var2);
  338.       }
  339.  
  340.       ((JComponent)this).firePropertyChange("viewport", var2, var1);
  341.       if (super.accessibleContext != null) {
  342.          ((AccessibleJScrollPane)super.accessibleContext).resetViewPort();
  343.       }
  344.  
  345.       ((JComponent)this).revalidate();
  346.       ((Component)this).repaint();
  347.    }
  348.  
  349.    public void setViewportBorder(Border var1) {
  350.       Border var2 = this.viewportBorder;
  351.       this.viewportBorder = var1;
  352.       ((JComponent)this).firePropertyChange("viewportBorder", var2, var1);
  353.    }
  354.  
  355.    public void setViewportView(Component var1) {
  356.       if (this.getViewport() == null) {
  357.          this.setViewport(this.createViewport());
  358.       }
  359.  
  360.       this.getViewport().setView(var1);
  361.    }
  362.  
  363.    public void updateUI() {
  364.       this.setUI((ScrollPaneUI)UIManager.getUI(this));
  365.    }
  366.  
  367.    private void writeObject(ObjectOutputStream var1) throws IOException {
  368.       var1.defaultWriteObject();
  369.       if (super.ui != null && this.getUIClassID().equals("ScrollPaneUI")) {
  370.          super.ui.installUI(this);
  371.       }
  372.  
  373.    }
  374. }
  375.