package org.limewire.ui.swing.action;
import java.awt.event.ActionEvent;
import javax.swing.Action;
import javax.swing.text.JTextComponent;
import javax.swing.text.TextAction;
public abstract class AbstractTextAction extends TextAction {
private final String[] actions;
public AbstractTextAction(String name, String... actions) {
super(name);
this.actions = actions;
}
@Override
public void actionPerformed(ActionEvent e) {
for(String action : actions) {
doAction(e, action);
}
}
private void doAction(ActionEvent e, String actionName) {
JTextComponent target = getTextComponent(e);
Action action = target.getActionMap().get(actionName);
action.actionPerformed(e);
}
}