Swing использует Actions для этого типа обработки.Такие функции, как вырезание, копирование, вставка, выбор слова, выполняются действиями.Создайте свое собственное настраиваемое действие:
class UpperCaseAction extends TextAction
{
public UpperCaseAction()
{
super("UpperCase");
}
public void actionPerformed(ActionEvent e)
{
JTextComponent component = getFocusedComponent();
int start = cmoponent.getSelectionStart();
int end = component.getSelectionEnd();
String replace = component.getSelectedText().toUpperCase();
component.replaceRange(replace, start, end);
}
}
Преимущество действия заключается в том, что оно будет работать с любым текстовым компонентом, на котором находится фокус.Вы используете действие как:
Action action = new UpperCaseAction();
JMenuItem menuItem = new JMenuItem( action );
JButton button = new JButton( action );