summaryrefslogtreecommitdiff
path: root/javax/swing/text/DefaultEditorKit.java
diff options
context:
space:
mode:
Diffstat (limited to 'javax/swing/text/DefaultEditorKit.java')
-rw-r--r--javax/swing/text/DefaultEditorKit.java210
1 files changed, 208 insertions, 2 deletions
diff --git a/javax/swing/text/DefaultEditorKit.java b/javax/swing/text/DefaultEditorKit.java
index 858c640fc..69d0c1235 100644
--- a/javax/swing/text/DefaultEditorKit.java
+++ b/javax/swing/text/DefaultEditorKit.java
@@ -64,6 +64,105 @@ public class DefaultEditorKit extends EditorKit
}
}
+ public static class CopyAction
+ extends TextAction
+ {
+ public CopyAction()
+ {
+ super(copyAction);
+ }
+ public void actionPerformed(ActionEvent event)
+ {
+ }
+ }
+
+ public static class CutAction
+ extends TextAction
+ {
+ public CutAction()
+ {
+ super(cutAction);
+ }
+ public void actionPerformed(ActionEvent event)
+ {
+ }
+ }
+
+ public static class DefaultKeyTypedAction
+ extends TextAction
+ {
+ public DefaultKeyTypedAction()
+ {
+ super(defaultKeyTypedAction);
+ }
+ public void actionPerformed(ActionEvent event)
+ {
+ JTextComponent t = getTextComponent(event);
+ if (t != null)
+ {
+ try
+ {
+ t.getDocument().insertString(t.getCaret().getDot(), event.getActionCommand(), null);
+ t.getCaret().setDot(Math.min(t.getCaret().getDot() + 1,
+ t.getDocument().getEndPosition().getOffset()));
+ t.repaint();
+ }
+ catch (BadLocationException be)
+ {
+ // FIXME: we're not authorized to throw this.. swallow it?
+ }
+ }
+ }
+ }
+
+ public static class InsertBreakAction
+ extends TextAction
+ {
+ public InsertBreakAction()
+ {
+ super(insertBreakAction);
+ }
+ public void actionPerformed(ActionEvent event)
+ {
+ }
+ }
+
+ public static class InsertContentAction
+ extends TextAction
+ {
+ public InsertContentAction()
+ {
+ super(insertContentAction);
+ }
+ public void actionPerformed(ActionEvent event)
+ {
+ }
+ }
+
+ public static class InsertTabAction
+ extends TextAction
+ {
+ public InsertTabAction()
+ {
+ super(insertTabAction);
+ }
+ public void actionPerformed(ActionEvent event)
+ {
+ }
+ }
+
+ public static class PasteAction
+ extends TextAction
+ {
+ public PasteAction()
+ {
+ super(pasteAction);
+ }
+ public void actionPerformed(ActionEvent event)
+ {
+ }
+ }
+
private static final long serialVersionUID = 9017245433028523428L;
public static final String backwardAction = "caret-backward";
@@ -121,6 +220,113 @@ public class DefaultEditorKit extends EditorKit
{
}
+ private static Action[] defaultActions =
+ new Action[] {
+ new BeepAction(),
+ new CopyAction(),
+ new CutAction(),
+ new DefaultKeyTypedAction(),
+ new InsertBreakAction(),
+ new InsertContentAction(),
+ new InsertTabAction(),
+ new PasteAction(),
+ new TextAction(deleteNextCharAction)
+ {
+ public void actionPerformed(ActionEvent event)
+ {
+ JTextComponent t = getTextComponent(event);
+ if (t != null)
+ {
+ try
+ {
+ int pos = t.getCaret().getDot();
+ if (pos < t.getDocument().getEndPosition().getOffset())
+ {
+ t.getDocument().remove(t.getCaret().getDot(), 1);
+ t.repaint();
+ }
+ }
+ catch (BadLocationException e)
+ {
+ // FIXME: we're not authorized to throw this.. swallow it?
+ }
+ }
+ }
+ },
+ new TextAction(deletePrevCharAction)
+ {
+ public void actionPerformed(ActionEvent event)
+ {
+ JTextComponent t = getTextComponent(event);
+ if (t != null)
+ {
+ try
+ {
+ int pos = t.getCaret().getDot();
+ if (pos > t.getDocument().getStartPosition().getOffset())
+ {
+ t.getDocument().remove(pos - 1, 1);
+ t.getCaret().setDot(pos - 1);
+ t.repaint();
+ }
+ }
+ catch (BadLocationException e)
+ {
+ // FIXME: we're not authorized to throw this.. swallow it?
+ }
+ }
+ }
+ },
+ new TextAction(backwardAction)
+ {
+ public void actionPerformed(ActionEvent event)
+ {
+ JTextComponent t = getTextComponent(event);
+ if (t != null)
+ {
+ t.getCaret().setDot(Math.max(t.getCaret().getDot() - 1,
+ t.getDocument().getStartPosition().getOffset()));
+ }
+ }
+ },
+ new TextAction(forwardAction)
+ {
+ public void actionPerformed(ActionEvent event)
+ {
+ JTextComponent t = getTextComponent(event);
+ if (t != null)
+ {
+ t.getCaret().setDot(Math.min(t.getCaret().getDot() + 1,
+ t.getDocument().getEndPosition().getOffset()));
+ }
+ }
+ },
+ new TextAction(selectionBackwardAction)
+ {
+ public void actionPerformed(ActionEvent event)
+ {
+ JTextComponent t = getTextComponent(event);
+ if (t != null)
+ {
+ t.getCaret().moveDot(Math.max(t.getCaret().getDot() - 1,
+ t.getDocument().getStartPosition().getOffset()));
+ }
+ }
+ },
+ new TextAction(selectionForwardAction)
+ {
+ public void actionPerformed(ActionEvent event)
+ {
+ JTextComponent t = getTextComponent(event);
+ if (t != null)
+ {
+ t.getCaret().moveDot(Math.min(t.getCaret().getDot() + 1,
+ t.getDocument().getEndPosition().getOffset()));
+ }
+ }
+ },
+ };
+
/**
* Called when the kit is being removed from the JEditorPane.
*/
@@ -134,7 +340,7 @@ public class DefaultEditorKit extends EditorKit
public Caret createCaret()
{
- return null;
+ return new DefaultCaret();
}
public Document createDefaultDocument()
@@ -144,7 +350,7 @@ public class DefaultEditorKit extends EditorKit
public Action[] getActions()
{
- return null;
+ return defaultActions;
}
public String getContentType()