逛奔的蜗牛

我不聪明,但我会很努力

   ::  :: 新随笔 ::  ::  :: 管理 ::
    public Test() {
        button 
= new JButton("Past");
        button.setCursor(Cursor.getPredefinedCursor(Cursor.HAND_CURSOR));
        
this.add(button);

        button.addActionListener(
new ActionListener() {
            
public void actionPerformed(ActionEvent e) {
                
// 取得系统剪贴板里可传输的数据构造的Java对象
                Transferable t = Toolkit.getDefaultToolkit()
                        .getSystemClipboard().getContents(
null);

                
try {
                    
if (t != null
                            
&& t.isDataFlavorSupported(DataFlavor.stringFlavor)) {
                        
// 因为原系的剪贴板里有多种信息, 如文字, 图片, 文件等
                        
// 先判断开始取得的可传输的数据是不是文字, 如果是, 取得这些文字
                        
                        String s 
= (String) t
                                .getTransferData(DataFlavor.stringFlavor);
                        
// 同样, 因为Transferable中的DataFlavor是多种类型的,
                        
// 所以传入DataFlavor这个参数, 指定要取得哪种类型的Data.
                        System.out.println(s);
                    }
                } 
catch (UnsupportedFlavorException ex) {
                    ex.printStackTrace();
                } 
catch (IOException ex) {
                    ex.printStackTrace();
                }
            }
        });
    }


关键信息:
getSystemClipboard().getContents(null);
Transferable, DataFlavor, DataFlavor.stringFlavor
getTransferData
isDataFlavorSupported
getTransferData

posted on 2008-03-15 19:16 逛奔的蜗牛 阅读(854) 评论(1)  编辑 收藏 引用 所属分类: Java

评论

# re: Java: 从系统的剪贴板取得复制的字符串 2011-06-23 08:31 萧逸
这是什么情况啊? 我想学java  回复  更多评论
  


只有注册用户登录后才能发表评论。
网站导航: 博客园   IT新闻   BlogJava   知识库   博问   管理