Методы получения курсора или выбора строки на разных языках программирования

Чтобы получить выделение курсора или строки на различных языках программирования, вот несколько методов и примеры кода:

  1. JavaScript:

    • Чтобы получить выделенный текст:

      const selectedText = window.getSelection().toString();
      console.log(selectedText);
    • Чтобы получить выбранную строку:

      const selectedLine = window.getSelection().anchorNode.textContent;
      console.log(selectedLine);
  2. Python (с использованием Tkinter):

    • Чтобы получить выделенный текст:

      import tkinter as tk
      root = tk.Tk()
      selected_text = root.clipboard_get()
      print(selected_text)
    • Чтобы получить выбранную строку:

      import tkinter as tk
      root = tk.Tk()
      selected_line = root.clipboard_get().split('\n')[0]
      print(selected_line)
  3. Java (с использованием Swing):

    • Чтобы получить выделенный текст:

      import javax.swing.text.DefaultEditorKit;
      import javax.swing.text.JTextComponent;
      import javax.swing.text.TextAction;
      import java.awt.event.ActionEvent;
      JTextComponent textComponent = new JTextComponent();
      Action action = new TextAction("Get Selected Text") {
       @Override
       public void actionPerformed(ActionEvent e) {
           String selectedText = textComponent.getSelectedText();
           System.out.println(selectedText);
       }
      };
      action.actionPerformed(null);
    • Чтобы получить выбранную строку:

      import javax.swing.text.Element;
      import javax.swing.text.JTextComponent;
      import javax.swing.text.TextAction;
      import java.awt.event.ActionEvent;
      JTextComponent textComponent = new JTextComponent();
      Action action = new TextAction("Get Selected Line") {
       @Override
       public void actionPerformed(ActionEvent e) {
           int caretPosition = textComponent.getCaretPosition();
           Element root = textComponent.getDocument().getDefaultRootElement();
           int line = root.getElementIndex(caretPosition);
           Element lineElement = root.getElement(line);
           String selectedLine = textComponent.getText(lineElement.getStartOffset(), lineElement.getEndOffset() - lineElement.getStartOffset());
           System.out.println(selectedLine);
       }
      };
      action.actionPerformed(null);