24 lines
720 B
Java
24 lines
720 B
Java
package command;
|
|
|
|
public class DeleteCommand implements Command {
|
|
private final TextEditor editor;
|
|
private final int start;
|
|
private final int length;
|
|
private String deletedText; // saved for undo
|
|
|
|
public DeleteCommand(TextEditor editor, int start, int length) {
|
|
this.editor = editor;
|
|
this.start = start;
|
|
this.length = length;
|
|
}
|
|
|
|
@Override
|
|
public void execute() {
|
|
deletedText = editor.getText().substring(start, start + length);
|
|
editor.deleteText(start, length);
|
|
}
|
|
|
|
@Override public void undo() { editor.insertText(deletedText, start); }
|
|
@Override public String getDescription() { return "Delete " + length + " chars at " + start; }
|
|
}
|