Как скопировать текст в буфер обмена в Java?
Мы рассмотрим некоторый исходный код метода Java, который позволяет копировать тексты в буфер обмена вашей операционной системы. Java предоставляет класс Clipboard, который находится в java.awt.data transfer. Буфер обмена обеспечивает важные функции графического пользовательского интерфейса (GUI), а именно КОПИРОВАТЬ (CTRL+C), ВСТАВИТЬ (CTRL+V) и ВЫРЕЗАТЬ (CTRL+X).
- To get the reference of Clipboard via Toolkit is: Toolkit toolkit=Toolkit.getDefaultToolkit();
- To Obtain the Clipboard reference: Clipboard clipboard=Toolkit.getDefaultToolkit().getSystemClipboard();
Подход
Предположим, мы хотим выполнить операцию копирования (аналогично нажатию Ctrl+C) строкового значения и вставить его в буфер обмена с помощью операции вставки (Ctrl+V). Чтобы было ясно, мы скопируем строку, не вводя команду Ctrl + C с клавиатуры, вместо этого мы скопируем строку через исходный код Java.
Шаги:
Следующие шаги будут выполнены для копирования текстов в буфер обмена.
- ОТКРЫТЬ ЛЮБУЮ JAVA IDE. Здесь мы будем использовать Spring Tool Suite (STS) Java IDE.
- ПЕРЕЙТИ К ФАЙЛУ После открытия Java IDE.
- ПЕРЕЙТИ К НОВОМУ, т.е. нажмите ALT+SHIFT+N
- НАЖМИТЕ на Java-проект
Дайте название проекта и заполните другие необходимые поля соответственно.
После заполнения всех необходимых полей нажмите «Готово» . Перейдите в папку src созданного вами проекта. Щелкните правой кнопкой мыши файл src и создайте пакет. Щелкните правой кнопкой мыши созданный выше пакет. Создайте класс Java . Код приведен ниже.
Java
package First_Java_Project; import java.awt.Toolkit; import java.awt.datatransfer.Clipboard; import java.awt.datatransfer.StringSelection; import java.awt.event.ActionEvent; import java.awt.event.ActionListener; import javax.swing.JButton; import javax.swing.JFrame; import javax.swing.JOptionPane; import javax.swing.JTextField; @SuppressWarnings ( "serial" ) public class copytoClipboard extends JFrame implements ActionListener { JTextField t1; JButton b1; copytoClipboard() { setLayout( null ); t1 = new JTextField(); t1.setBounds( 20 , 40 , 400 , 200 ); add(t1); b1 = new JButton( "COPY CONTENT!" ); b1.setBounds( 70 , 270 , 150 , 50 ); b1.addActionListener( this ); add(b1); setVisible( true ); setBounds( 200 , 90 , 500 , 500 ); } public static void main(String args[]) { new copytoClipboard(); } @Override public void actionPerformed(ActionEvent e) { String str = t1.getText(); Clipboard clip = Toolkit.getDefaultToolkit() .getSystemClipboard(); StringSelection strse1 = new StringSelection(str); clip.setContents(strse1, strse1); JOptionPane.showMessageDialog( null , "TEXTS ARE COPIED!" ); } } // This code is contributed by Rahul Chauhan. |
После написания кода он покажет ошибки в написанном исходном коде.
NOTE: IMPORT NEEDED PACKAGES, CLASSES, AND LIBRARIES.
После импорта и устранения всех ошибок запустите проект Java . Наблюдайте за событиями, появится всплывающее окно. В появившемся окне напишите содержимое, которое хотите скопировать.
Нажмите на кнопку КОПИРОВАТЬ СОДЕРЖИМОЕ! Появится окно сообщения с сообщением, что ТЕКСТЫ КОПИИРОВАНЫ!
Теперь перейдите в Блокнот или любой другой инструмент редактирования, чтобы проверить, не копируются ли тексты. Используйте CTRL+V, чтобы вставить его. Наконец, мы сможем увидеть, что написанный текст внутри окна будет скопирован. Т.е. Готово с копированием текстов в буфер обмена с помощью Java.