home *** CD-ROM | disk | FTP | other *** search
- package java.awt;
-
- import java.awt.peer.LightweightPeer;
- import java.awt.peer.ScrollPanePeer;
- import javax.accessibility.Accessible;
- import javax.accessibility.AccessibleContext;
-
- public class ScrollPane extends Container implements Accessible {
- public static final int SCROLLBARS_AS_NEEDED = 0;
- public static final int SCROLLBARS_ALWAYS = 1;
- public static final int SCROLLBARS_NEVER = 2;
- private int scrollbarDisplayPolicy;
- private ScrollPaneAdjustable vAdjustable;
- private ScrollPaneAdjustable hAdjustable;
- private static final String base = "scrollpane";
- private static int nameCounter;
- private static final long serialVersionUID = 7956609840827222915L;
-
- private static native void initIDs();
-
- public ScrollPane() {
- this(0);
- }
-
- public ScrollPane(int var1) {
- super.layoutMgr = null;
- super.width = 100;
- super.height = 100;
- switch (var1) {
- case 0:
- case 1:
- case 2:
- this.scrollbarDisplayPolicy = var1;
- this.vAdjustable = new ScrollPaneAdjustable(this, new PeerFixer(this, this), 1);
- this.hAdjustable = new ScrollPaneAdjustable(this, new PeerFixer(this, this), 0);
- return;
- default:
- throw new IllegalArgumentException("illegal scrollbar display policy");
- }
- }
-
- String constructComponentName() {
- Class var1 = this.getClass();
- synchronized(var1) {
- String var2 = "scrollpane" + nameCounter++;
- return var2;
- }
- }
-
- protected final void addImpl(Component var1, Object var2, int var3) {
- Object var4 = ((Component)this).getTreeLock();
- synchronized(var4) {
- if (((Container)this).getComponentCount() > 0) {
- ((Container)this).remove(0);
- }
-
- if (var3 > 0) {
- throw new IllegalArgumentException("position greater than 0");
- } else {
- super.addImpl(var1, var2, var3);
- }
- }
- }
-
- public int getScrollbarDisplayPolicy() {
- return this.scrollbarDisplayPolicy;
- }
-
- public Dimension getViewportSize() {
- Insets var1 = ((Container)this).getInsets();
- return new Dimension(super.width - var1.right - var1.left, super.height - var1.top - var1.bottom);
- }
-
- public int getHScrollbarHeight() {
- int var1 = 0;
- if (this.scrollbarDisplayPolicy != 2) {
- ScrollPanePeer var2 = (ScrollPanePeer)super.peer;
- if (var2 != null) {
- var1 = var2.getHScrollbarHeight();
- }
- }
-
- return var1;
- }
-
- public int getVScrollbarWidth() {
- int var1 = 0;
- if (this.scrollbarDisplayPolicy != 2) {
- ScrollPanePeer var2 = (ScrollPanePeer)super.peer;
- if (var2 != null) {
- var1 = var2.getVScrollbarWidth();
- }
- }
-
- return var1;
- }
-
- public Adjustable getVAdjustable() {
- return this.vAdjustable;
- }
-
- public Adjustable getHAdjustable() {
- return this.hAdjustable;
- }
-
- public void setScrollPosition(int var1, int var2) {
- Object var3 = ((Component)this).getTreeLock();
- synchronized(var3) {
- if (super.ncomponents <= 0) {
- throw new NullPointerException("child is null");
- } else {
- this.hAdjustable.setValue(var1);
- this.vAdjustable.setValue(var2);
- }
- }
- }
-
- public void setScrollPosition(Point var1) {
- this.setScrollPosition(var1.x, var1.y);
- }
-
- public Point getScrollPosition() {
- if (super.ncomponents <= 0) {
- throw new NullPointerException("child is null");
- } else {
- return new Point(this.hAdjustable.getValue(), this.vAdjustable.getValue());
- }
- }
-
- public final void setLayout(LayoutManager var1) {
- throw new AWTError("ScrollPane controls layout");
- }
-
- public void doLayout() {
- this.layout();
- }
-
- Dimension calculateChildSize() {
- Dimension var1 = ((Component)this).getSize();
- Insets var2 = ((Container)this).getInsets();
- int var3 = var1.width - var2.left * 2;
- int var4 = var1.height - var2.top * 2;
- Component var7 = ((Container)this).getComponent(0);
- Dimension var8 = new Dimension(var7.getPreferredSize());
- boolean var5;
- boolean var6;
- if (this.scrollbarDisplayPolicy == 0) {
- var5 = var8.height > var4;
- var6 = var8.width > var3;
- } else if (this.scrollbarDisplayPolicy == 1) {
- var6 = true;
- var5 = true;
- } else {
- var6 = false;
- var5 = false;
- }
-
- int var9 = this.getVScrollbarWidth();
- int var10 = this.getHScrollbarHeight();
- if (var5) {
- var3 -= var9;
- }
-
- if (var6) {
- var4 -= var10;
- }
-
- if (var8.width < var3) {
- var8.width = var3;
- }
-
- if (var8.height < var4) {
- var8.height = var4;
- }
-
- return var8;
- }
-
- public void layout() {
- if (super.ncomponents > 0) {
- Component var1 = ((Container)this).getComponent(0);
- Point var2 = this.getScrollPosition();
- Dimension var3 = this.calculateChildSize();
- Dimension var4 = this.getViewportSize();
- Insets var5 = ((Container)this).getInsets();
- var1.reshape(var5.left - var2.x, var5.top - var2.y, var3.width, var3.height);
- ScrollPanePeer var6 = (ScrollPanePeer)super.peer;
- if (var6 != null) {
- var6.childResized(var3.width, var3.height);
- }
-
- var4 = this.getViewportSize();
- this.hAdjustable.setSpan(0, var3.width, var4.width);
- this.vAdjustable.setSpan(0, var3.height, var4.height);
- }
-
- }
-
- public void printComponents(Graphics var1) {
- if (super.ncomponents > 0) {
- Component var2 = super.component[0];
- Point var3 = var2.getLocation();
- Dimension var4 = this.getViewportSize();
- Insets var5 = ((Container)this).getInsets();
- Graphics var6 = var1.create();
-
- try {
- var6.clipRect(var5.left, var5.top, var4.width, var4.height);
- var6.translate(var3.x, var3.y);
- var2.printAll(var6);
- } finally {
- var6.dispose();
- }
- }
-
- }
-
- public void addNotify() {
- Object var1 = ((Component)this).getTreeLock();
- synchronized(var1) {
- int var2 = 0;
- int var3 = 0;
- if (((Container)this).getComponentCount() > 0) {
- var2 = this.vAdjustable.getValue();
- var3 = this.hAdjustable.getValue();
- this.vAdjustable.setValue(0);
- this.hAdjustable.setValue(0);
- }
-
- if (super.peer == null) {
- super.peer = ((Component)this).getToolkit().createScrollPane(this);
- }
-
- super.addNotify();
- if (((Container)this).getComponentCount() > 0) {
- this.vAdjustable.setValue(var2);
- this.hAdjustable.setValue(var3);
- }
-
- if (((Container)this).getComponentCount() > 0) {
- Component var4 = ((Container)this).getComponent(0);
- if (var4.peer instanceof LightweightPeer) {
- ((Container)this).remove(0);
- Panel var5 = new Panel();
- ((Container)var5).setLayout(new BorderLayout());
- ((Container)var5).add(var4);
- ((Container)this).add(var5);
- }
- }
-
- }
- }
-
- public String paramString() {
- String var1;
- switch (this.scrollbarDisplayPolicy) {
- case 0:
- var1 = "as-needed";
- break;
- case 1:
- var1 = "always";
- break;
- case 2:
- var1 = "never";
- break;
- default:
- var1 = "invalid display policy";
- }
-
- Point var2 = super.ncomponents > 0 ? this.getScrollPosition() : new Point(0, 0);
- Insets var3 = ((Container)this).getInsets();
- return super.paramString() + ",ScrollPosition=(" + var2.x + "," + var2.y + ")" + ",Insets=(" + var3.top + "," + var3.left + "," + var3.bottom + "," + var3.right + ")" + ",ScrollbarDisplayPolicy=" + var1;
- }
-
- public AccessibleContext getAccessibleContext() {
- if (super.accessibleContext == null) {
- super.accessibleContext = new AccessibleAWTScrollPane(this);
- }
-
- return super.accessibleContext;
- }
-
- static {
- Toolkit.loadLibraries();
- initIDs();
- nameCounter = 0;
- }
- }
-