java操作剪貼板代碼示例
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); }
} </pre>
本文由用戶 by57 自行上傳分享,僅供網友學習交流。所有權歸原作者,若您的權利被侵害,請聯系管理員。
轉載本站原創文章,請注明出處,并保留原始鏈接、圖片水印。
本站是一個以用戶分享為主的開源技術平臺,歡迎各類分享!