home *** CD-ROM | disk | FTP | other *** search
- package java.awt;
-
- import java.awt.peer.LightweightPeer;
- import java.awt.peer.ScrollPanePeer;
-
- public class ScrollPane extends Container {
- 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;
-
- public ScrollPane() {
- this(0);
- }
-
- public ScrollPane(int var1) {
- super.name = "scrollpane" + nameCounter++;
- 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");
- }
- }
-
- protected final void addImpl(Component var1, Object var2, int var3) {
- Object var4 = ((Component)this).getTreeLock();
- synchronized(var4){}
-
- try {
- if (((Container)this).getComponentCount() > 0) {
- ((Container)this).remove(0);
- }
-
- if (var3 > 0) {
- throw new IllegalArgumentException("position greater than 0");
- }
-
- super.addImpl(var1, var2, var3);
- } catch (Throwable var6) {
- throw var6;
- }
-
- }
-
- 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){}
-
- try {
- if (super.ncomponents <= 0) {
- throw new NullPointerException("child is null");
- }
-
- this.hAdjustable.setValue(var1);
- this.vAdjustable.setValue(var2);
- } catch (Throwable var5) {
- throw var5;
- }
-
- }
-
- 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() {
- Component var1 = ((Container)this).getComponent(0);
- Dimension var2 = new Dimension(var1.getPreferredSize());
- Dimension var3 = ((Component)this).getSize();
- int var4 = this.getVScrollbarWidth();
- int var5 = this.getHScrollbarHeight();
- Insets var6 = ((Container)this).getInsets();
- boolean var7 = var6.left + var6.right >= var4;
- boolean var8 = var6.top + var6.bottom >= var5;
- int var9 = var3.width - (var6.left + var6.right) - (var7 ? 0 : var4);
- int var10 = var3.height - (var6.top + var6.bottom) - (var8 ? 0 : var5);
- boolean var11 = var2.width > var9;
- boolean var12 = var2.height > var10;
- if (var2.width < var9) {
- var2.width = var9 + (var12 ? 0 : var4);
- }
-
- if (var2.height < var10) {
- var2.height = var10 + (var11 ? 0 : var5);
- }
-
- return var2;
- }
-
- /** @deprecated */
- public void layout() {
- if (super.ncomponents > 0) {
- Component var1 = ((Container)this).getComponent(0);
- Point var2 = var1.getLocation();
- Dimension var3 = this.calculateChildSize();
- Dimension var4 = this.getViewportSize();
- int var5 = var3.width > var4.width ? Math.min(-var2.x, var3.width - var4.width) : -var2.x;
- int var6 = var3.height > var4.height ? Math.min(-var2.y, var3.height - var4.height) : -var2.y;
- var1.reshape(-var5, -var6, var3.width, var3.height);
- ScrollPanePeer var7 = (ScrollPanePeer)super.peer;
- if (var7 != null) {
- var7.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();
- Graphics var5 = var1.create();
-
- try {
- var5.translate(var3.x, var3.y);
- var5.clipRect(-var3.x, -var3.y, var4.width, var4.height);
- var2.printAll(var5);
- } finally {
- var5.dispose();
- }
-
- }
- }
-
- public void addNotify() {
- super.peer = ((Component)this).getToolkit().createScrollPane(this);
- super.addNotify();
- if (((Container)this).getComponentCount() > 0) {
- Component var1 = ((Container)this).getComponent(0);
- if (var1.peer instanceof LightweightPeer) {
- ((Container)this).remove(0);
- Panel var2 = new Panel();
- ((Container)var2).setLayout(new BorderLayout());
- ((Container)var2).add(var1);
- ((Container)this).add(var2);
- }
- }
-
- }
-
- 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;
- }
- }
-