Gridarta Editor
InsertChar.java
Go to the documentation of this file.
1 /*
2  * InputHandler.java - Manages key bindings and executes actions
3  * Copyright (C) 1999 Slava Pestov
4  * Copyright (C) 2000-2023 The Gridarta Developers.
5  *
6  * You may use and modify this package for any purpose. Redistribution is
7  * permitted, in both source and binary form, provided that this notice
8  * remains intact in all source distributions of this package.
9  */
10 
11 package net.sf.gridarta.textedit.textarea.actions;
12 
13 import java.awt.event.ActionEvent;
14 import java.awt.event.ActionListener;
18 
19 public class InsertChar implements ActionListener, NonRepeatable {
20 
21  @Override
22  public void actionPerformed(final ActionEvent e) {
23  final JEditTextArea textArea = InputHandler.getTextArea(e);
24  final String str = e.getActionCommand();
25  final int repeatCount = textArea.getInputHandler().getRepeatCount();
26 
27  if (textArea.isEditable()) {
28  final StringBuilder buf = new StringBuilder();
29  for (int i = 0; i < repeatCount; i++) {
30  buf.append(str);
31  }
32  textArea.overwriteSetSelectedText(buf.toString());
33  } else {
34  textArea.getToolkit().beep();
35  }
36  }
37 
38 }
net.sf.gridarta.textedit.textarea.JEditTextArea
jEdit's text area component.
Definition: JEditTextArea.java:91
net.sf.gridarta.textedit.textarea
This package contains the other part of the script editor.
net.sf.gridarta
Base package of all Gridarta classes.
net.sf
net.sf.gridarta.textedit.textarea.InputHandler
An input handler converts the user's key strokes into concrete actions.
Definition: InputHandler.java:36
net.sf.gridarta.textedit
net.sf.gridarta.textedit.textarea.JEditTextArea.getInputHandler
InputHandler getInputHandler()
Returns the input handler.
Definition: JEditTextArea.java:264
net
net.sf.gridarta.textedit.textarea.InputHandler.getTextArea
static JEditTextArea getTextArea(final EventObject evt)
Returns the text area that fired the specified event.
Definition: InputHandler.java:144
net.sf.gridarta.textedit.textarea.JEditTextArea.overwriteSetSelectedText
void overwriteSetSelectedText(@NotNull final String str)
Similar to.
Definition: JEditTextArea.java:758
net.sf.gridarta.textedit.textarea.JEditTextArea.isEditable
boolean isEditable()
Returns true if this text area is editable, false otherwise.
Definition: JEditTextArea.java:730
net.sf.gridarta.textedit.textarea.InputHandler.getRepeatCount
int getRepeatCount()
Returns the number of times the next action will be repeated.
Definition: InputHandler.java:83
net.sf.gridarta.textedit.textarea.actions.InsertChar
Definition: InsertChar.java:19
net.sf.gridarta.textedit.textarea.actions.InsertChar.actionPerformed
void actionPerformed(final ActionEvent e)
Definition: InsertChar.java:22
net.sf.gridarta.textedit.textarea.InputHandler.NonRepeatable
If an action implements this interface, it should not be repeated.
Definition: InputHandler.java:200