Main.java Source code

Java tutorial

Introduction

Here is the source code for Main.java

Source

import java.awt.event.ActionEvent;

import javax.swing.JFrame;
import javax.swing.JScrollPane;
import javax.swing.JTextArea;
import javax.swing.KeyStroke;
import javax.swing.text.Document;
import javax.swing.text.JTextComponent;
import javax.swing.text.TextAction;

public class Main {
    public static void main(String[] argv) throws Exception {
        JTextArea comp = new JTextArea();
        String actionName = "Lowercase";

        JFrame f = new JFrame();
        f.add(new JScrollPane(comp));
        f.setSize(300, 300);
        f.setVisible(true);
        comp.getInputMap().put(KeyStroke.getKeyStroke("F2"), actionName);

        comp.getActionMap().put(actionName, new TextAction(actionName) {
            public void actionPerformed(ActionEvent evt) {
                JTextComponent comp = getTextComponent(evt);

                if (comp.getSelectionStart() == comp.getSelectionEnd()) {
                    if (comp.getCaretPosition() < comp.getDocument().getLength()) {
                        try {
                            int pos = comp.getCaretPosition();
                            Document doc = comp.getDocument();
                            String str = doc.getText(pos, 1).toLowerCase();

                            doc.remove(pos, 1);
                            doc.insertString(pos, str, null);
                            comp.moveCaretPosition(pos + 1);
                        } catch (Exception e) {
                            System.out.println();
                        }
                    }
                } else {
                    int s = comp.getSelectionStart();
                    int e = comp.getSelectionEnd();

                    comp.replaceSelection(comp.getSelectedText().toLowerCase());
                    comp.select(s, e);
                }
            }
        });
    }
}