「java获取剪贴」js获取剪贴板内容
本篇文章给大家谈谈java获取剪贴,以及js获取剪贴板内容对应的知识点,希望对各位有所帮助,不要忘了收藏本站喔。
本文目录一览:
java怎么实现剪贴板功能
import java.awt.*;
import java.awt.event.*;
import java.awt.datatransfer.*;
import javax.swing.*;
//剪贴板演示
public class ClipboardDemo extends JFrame implements ClipboardOwner{
Clipboard clipboard; //剪贴板
JTextArea jtaCopyTo=new JTextArea(5,10); //用于拷贝的文本框
JTextArea jtaPaste=new JTextArea(5,10); //用于粘贴的文本框
public ClipboardDemo(){
super("使用剪贴板的复制/粘贴程序"); //调用父类构造函数
clipboard=Toolkit.getDefaultToolkit().getSystemClipboard(); //获得系统剪贴板
JButton btCopy=new JButton("拷贝"); //拷贝按钮
JButton btPaste=new JButton("粘贴"); //粘贴按钮
jtaCopyTo.setLineWrap(true); //设置换行
jtaPaste.setLineWrap(true);
jtaCopyTo.setBorder(BorderFactory.createTitledBorder("复制到系统剪切板")); //设置边界
jtaPaste.setBorder(BorderFactory.createTitledBorder("从系统剪切板粘贴"));
Container container=getContentPane(); //得到容器
JToolBar toolBar=new JToolBar(); //实例化工具栏
toolBar.add(btCopy); //增加工具栏按钮
toolBar.add(btPaste);
btCopy.addActionListener(new CopyListener()); //按钮事件处理
btPaste.addActionListener(new PasteListener());
Box box=new Box(BoxLayout.X_AXIS); //实例化Box
box.add(jtaCopyTo); //增加文本框到Box上
box.add(jtaPaste);
container.add(toolBar,BorderLayout.NORTH); //增加工具栏到容器
container.add(box,BorderLayout.CENTER); //增加Box到容器
setSize(320,180); //设置窗口尺寸
setVisible(true); //设置窗口为可视
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); //关闭窗口时退出程序
}
class CopyListener implements ActionListener { //拷贝数据处理
public void actionPerformed(ActionEvent event) {
StringSelection contents=new StringSelection(jtaCopyTo.getText()); //用拷贝文本框文本实例化StringSelection对象
clipboard.setContents(contents, ClipboardDemo.this); //设置系统剪贴板内容
}
}
class PasteListener implements ActionListener { //粘贴数据处理
public void actionPerformed(ActionEvent event) {
Transferable contents=clipboard.getContents(this); //得到剪贴板内容
if(contents!=null contents.isDataFlavorSupported(DataFlavor.stringFlavor)) { //判断内容是否为空,是否为字符串
try{
String string= (String) contents.getTransferData(DataFlavor.stringFlavor); //转换内容到字符串
jtaPaste.append(string); //插入字符串到粘贴文本框
}catch (Exception ex){
ex.printStackTrace(); //错误处理
}
}
}
}
public void lostOwnership(Clipboard clip,Transferable transferable) { //实现ClipboardOwner接口中的方法
}
public static void main(String[] args){
new ClipboardDemo();
}
}
怎样使用java编程实现文件的剪切/移动
可以通过BufferedReader
流的形式进行流读取,之后通过readLine方法获取到的内容,之后通过if判断来实现在某些特定位置的内容的剪切和移动操作。
举例:
BufferedReader
bre
=
null;
OutputStreamWriter
pw
=
null;//定义一个流
try
{
String
file
=
"D:/test/test.txt";
bre
=
new
BufferedReader(new
FileReader(file));//此时获取到的bre就是整个文件的缓存流
pw
=
new
OutputStreamWriter(new
FileOutputStream(“D:/test.txt”),"GBK");//确认流的输出文件和编码格式,此过程创建了“test.txt”实例
while
((str
=
bre.readLine())!=
null)
//
判断最后一行不存在,为空结束循环
{
if(str.indexOf("排除")0){//判断是否需要舍弃
pw.write(str);//将要写入文件的内容,可以多次write
}
}
bre.close();//关闭流
pw.close();//关闭流
解释:以上方法是实现的删除,if中的条件改变下,即可实现其余的功能。
备注:文件流用完之后必须及时通过close方法关闭,否则会一直处于打开状态,直至程序停止,增加系统负担。
在java中如何实现复制,粘贴,剪切
要用到java.awt.datatransfer包中的Clipboard类
import java.awt.*;import java.awt.event.*;
import java.awt.datatransfer.*;
public class Test extends Frame implements ActionListener
{ MenuBar menubar; Menu menu;
MenuItem copy,cut,paste;
TextArea text1,text2;
Clipboard clipboard=null;
Test()
{ clipboard=getToolkit().getSystemClipboard();//获取系统剪贴板。
menubar=new MenuBar();
menu=new Menu("Edit"); copy=new MenuItem("copy");
cut=new MenuItem ("cut"); paste=new MenuItem ("paste");
text1=new TextArea(20,20); text2=new TextArea(20,20);
copy.addActionListener(this); cut.addActionListener(this);
paste.addActionListener(this);
setLayout(new FlowLayout());
menubar.add(menu);
menu.add(copy); menu.add(cut); menu.add(paste);
setMenuBar(menubar);
add(text1);add(text2);
setBounds(100,100,200,250); setVisible(true);pack();
addWindowListener(new WindowAdapter()
{public void windowClosing(WindowEvent e)
{System.exit(0);
}
}) ;
}
public void actionPerformed(ActionEvent e)
{ if(e.getSource()==copy) //拷贝到剪贴板。
{ String temp=text1.getSelectedText(); //拖动鼠标选取文本。
StringSelection text=new StringSelection(temp);
clipboard.setContents(text,null);
}
else if(e.getSource()==cut) //剪贴到剪贴板。
{ String temp=text1.getSelectedText(); //拖动鼠标选取文本。
StringSelection text=new StringSelection(temp);
clipboard.setContents(text,null);
int start=text1.getSelectionStart();
int end =text1.getSelectionEnd();
text1.replaceRange("",start,end) ; //从Text1中删除被选取的文本。
}
else if(e.getSource()==paste) //从剪贴板粘贴数据。
{ Transferable contents=clipboard.getContents(this);
DataFlavor flavor= DataFlavor.stringFlavor;
if( contents.isDataFlavorSupported(flavor))
try{ String str;
str=(String)contents.getTransferData(flavor);
text2.append(str);
}
catch(Exception ee){}
}
}
public static void main(String args[])
{ Test win=new Test();
}
}
java 获取剪贴板内容出现问题
import java.awt.Image;
import java.awt.Toolkit;
import java.awt.datatransfer.Clipboard;
import java.awt.datatransfer.DataFlavor;
import java.awt.datatransfer.StringSelection;
import java.awt.datatransfer.Transferable;
import java.awt.datatransfer.UnsupportedFlavorException;
import java.io.IOException;
public class ClipboradOperate {
/**@Description:
* @author zhk
* @createtime 2012-7-12 上午11:33:06
* @param args
*/
public static void main(String[] args) {
Clipboard clip = Toolkit.getDefaultToolkit().getSystemClipboard();//获取系统剪贴板
try {
ImageViewer im=new ImageViewer(getImageFromClipboard());
}catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
/**
* 从指定的剪切板中获取文本内容
* 本地剪切板使用 Clipborad cp = new Clipboard("clip1"); 来构造
* 系统剪切板使用 Clipboard sysc = Toolkit.getDefaultToolkit().getSystemClipboard();
* 剪切板的内容 getContents(null); 返回Transferable
*/
protected static String getClipboardText() throws Exception{
Clipboard clip = Toolkit.getDefaultToolkit().getSystemClipboard();//获取系统剪贴板
// 获取剪切板中的内容
Transferable clipT = clip.getContents(null);
if (clipT != null) {
// 检查内容是否是文本类型
if (clipT.isDataFlavorSupported(DataFlavor.stringFlavor))
return (String)clipT.getTransferData(DataFlavor.stringFlavor);
}
return null;
}
//往剪切板写文本数据
protected static void setClipboardText(Clipboard clip, String writeMe) {
Transferable tText = new StringSelection(writeMe);
clip.setContents(tText, null);
}
// 从剪切板读取图像
public static Image getImageFromClipboard() throws Exception{
Clipboard sysc = Toolkit.getDefaultToolkit().getSystemClipboard();
Transferable cc = sysc.getContents(null);
if (cc == null)
return null;
else if(cc.isDataFlavorSupported(DataFlavor.imageFlavor))
return (Image)cc.getTransferData(DataFlavor.imageFlavor);
return null;
}
// 写图像到剪切板
protected static void setClipboardImage2(final Image image) {
Transferable trans = new Transferable(){
public DataFlavor[] getTransferDataFlavors() {
return new DataFlavor[] { DataFlavor.imageFlavor };
}
public boolean isDataFlavorSupported(DataFlavor flavor) {
return DataFlavor.imageFlavor.equals(flavor);
}
public Object getTransferData(DataFlavor flavor) throws UnsupportedFlavorException, IOException {
if(isDataFlavorSupported(flavor))
return image;
throw new UnsupportedFlavorException(flavor);
}
};
Toolkit.getDefaultToolkit().getSystemClipboard().setContents(trans, null);
}
}
ImageViewer.java
/*
* 查看图形的窗口
*/
import java.awt.Frame;
import java.awt.Graphics;
import java.awt.Image;
import java.awt.MediaTracker;
import java.awt.Toolkit;
import java.awt.event.WindowAdapter;
import java.awt.event.WindowEvent;
/**
* 用于显示图形的窗口
*/
public class ImageViewer extends Frame {
private Image image;
/**
* 显示一个图像
* @param viewMe
*/
public ImageViewer(Image viewMe) {
image = viewMe;
MediaTracker mediaTracker = new MediaTracker(this);
mediaTracker.addImage(image, 0);
try {
mediaTracker.waitForID(0);
} catch (InterruptedException ie) {
ie.printStackTrace();
System.exit(1);
}
addWindowListener(new WindowAdapter() {
public void windowClosing(WindowEvent e) {
System.exit(0);
}
});
//窗口适应图像大小
setSize(image.getWidth(null), image.getHeight(null));
//窗口标题
setTitle("Viewing Image from Clipboard");
setVisible(true);
}
public void paint(Graphics graphics) {
graphics.drawImage(image, 0, 0, null);
}
/**
* 用于读取图像文件并生成Image对象
*/
public static Image getImageFromFile(String fileName) {
Toolkit toolkit = Toolkit.getDefaultToolkit();
Image image = toolkit.getImage(fileName);
return image;
}
}
java获取剪贴的介绍就聊到这里吧,感谢你花时间阅读本站内容,更多关于js获取剪贴板内容、java获取剪贴的信息别忘了在本站进行查找喔。