加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > Java > 正文

java操作剪贴板代码示例

发布时间:2020-12-15 00:19:11 所属栏目:Java 来源:网络整理
导读:今天PHP站长网 52php.cn把收集自互联网的代码分享给大家,仅供参考。 import java.awt.BorderLayout;import java.awt.Button;import java.awt.Frame;import java.awt.Panel;import java.awt.TextArea;import java.awt.Too

以下代码由PHP站长网 52php.cn收集自互联网

现在PHP站长网小编把它分享给大家,仅供参考

import java.awt.BorderLayout;
import java.awt.Button;
import java.awt.Frame;
import java.awt.Panel;
import java.awt.TextArea;
import java.awt.Toolkit;
import java.awt.datatransfer.DataFlavor;
import java.awt.datatransfer.StringSelection;
import java.awt.datatransfer.Transferable;
import java.awt.datatransfer.UnsupportedFlavorException;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.io.IOException;

public class ClipdoardUsage {

  public static void main(String[] args) {

    // Create a frame
    Frame frame = new Frame("Example Frame");

    /*
      * Create a container with a flow layout,which arranges its children 
      * horizontally and center aligned.
      * A container can also be created with a specific layout using
      * Panel(LayoutManager) constructor,e.g.
      * Panel(new FlowLayout(FlowLayout.RIGHT)) for right alignment
      */
    Panel panel = new Panel();

    // Add a text area in the center of the frame
    final TextArea textArea = new TextArea("This is a sample text...");
    frame.add(textArea,BorderLayout.CENTER);

    // Add several buttons to the container
    Button copyToClipboardButton = new Button("Copy to clipboard");
    Button pasteFromClipboardButton = new Button("Paste from clipboard");
    panel.add(copyToClipboardButton);
    panel.add(pasteFromClipboardButton);

    // Add action listener to copyToClipboardButton for copying textArea content to clipboard
    copyToClipboardButton.addActionListener(new ActionListener() {

        @Override
        public void actionPerformed(ActionEvent evt) {
            setStringToClipboard(textArea.getText());
        }
    });

    // Add action listener to pasteFromClipboardButton for pasting clipboard content to textArea
    pasteFromClipboardButton.addActionListener(new ActionListener() {

        @Override
        public void actionPerformed(ActionEvent evt) {
            textArea.setText(getStringFromClipboard());
        }
    });

    // Add the container to the bottom of the frame
    frame.add(panel,BorderLayout.SOUTH);

    // Display the frame
    int frameWidth = 300;
    int frameHeight = 300;
    frame.setSize(frameWidth,frameHeight);

    frame.setVisible(true);

  }

  // If a string is on the system clipboard,this method returns it; otherwise it returns null.
  public static String getStringFromClipboard() {
    Transferable transferable = Toolkit.getDefaultToolkit().getSystemClipboard().getContents(null);

    try {
        if (transferable != null && transferable.isDataFlavorSupported(DataFlavor.stringFlavor)) {
            String text = (String) transferable.getTransferData(DataFlavor.stringFlavor);
            return text;
        }
    } catch (UnsupportedFlavorException e) {
        System.out.println("Clipboard content flavor is not supported " + e.getMessage());
    } catch (IOException e) {
        System.out.println("Clipboard content could not be retrieved " + e.getMessage());
    }
    return null;
  }

  // This method writes a string to the clipboard.
  public static void setStringToClipboard(String stringContent) {
    StringSelection stringSelection = new StringSelection(stringContent);
    Toolkit.getDefaultToolkit().getSystemClipboard().setContents(stringSelection,null);
  }

}

以上内容由PHP站长网【52php.cn】收集整理供大家参考研究

如果以上内容对您有帮助,欢迎收藏、点赞、推荐、分享。

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读