home *** CD-ROM | disk | FTP | other *** search
- package javax.swing.text;
-
- import java.awt.Point;
- import java.awt.Rectangle;
- import java.awt.event.ActionEvent;
- import javax.swing.JComponent;
-
- class DefaultEditorKit$PageAction extends TextAction {
- private boolean select;
- private boolean left;
-
- public DefaultEditorKit$PageAction(String var1, boolean var2, boolean var3) {
- super(var1);
- this.select = var3;
- this.left = var2;
- }
-
- public void actionPerformed(ActionEvent var1) {
- JTextComponent var2 = ((TextAction)this).getTextComponent(var1);
- if (var2 != null) {
- Rectangle var4 = new Rectangle();
- ((JComponent)var2).computeVisibleRect(var4);
- if (this.left) {
- var4.x = Math.max(0, var4.x - var4.width);
- } else {
- var4.x += var4.width;
- }
-
- ((JComponent)var2).scrollRectToVisible(var4);
- int var3 = var2.getCaretPosition();
- if (var3 != -1) {
- if (this.left) {
- var3 = var2.viewToModel(new Point(var4.x, var4.y));
- } else {
- var3 = var2.viewToModel(new Point(var4.x + var4.width - 1, var4.y + var4.height - 1));
- }
-
- Document var5 = var2.getDocument();
- if (var3 != 0 && var3 > var5.getLength() - 1) {
- var3 = var5.getLength() - 1;
- } else if (var3 < 0) {
- var3 = 0;
- }
-
- if (this.select) {
- var2.moveCaretPosition(var3);
- } else {
- var2.setCaretPosition(var3);
- }
- }
- }
-
- }
- }
-