「java获取剪贴」js获取剪贴板内容

博主:adminadmin 2023-01-10 22:57:07 919

本篇文章给大家谈谈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获取剪贴的信息别忘了在本站进行查找喔。