CSDN首页 空间 新闻 论坛 Blog 下载 读书 网摘 搜索 .NET Java 视频 接项目 求职 在线学习 买书 程序员 通知
IBM Rational 系统开发最佳实践工具包 WebSphere MQ 最佳实践 TOP 15
CSDN社区
搜索 收藏 打印 关闭
CSDN社区 >  Java >  J2SE / 扩展类

怎么实现将windows的文本文件拖放到Jtextarea中呢??

楼主ofking2()2006-03-08 17:44:53 在 Java / J2SE / 扩展类 提问

 
  是不是要用jni啊,有没有其他方法 问题点数:10、回复次数:2Top

1 楼gtlang78()回复于 2006-03-08 21:11:28 得分 10

import   java.awt.BorderLayout;  
  import   java.awt.datatransfer.DataFlavor;  
  import   java.awt.datatransfer.Transferable;  
  import   java.awt.datatransfer.UnsupportedFlavorException;  
  import   java.io.File;  
  import   java.io.FileReader;  
  import   java.io.IOException;  
  import   java.util.List;  
   
  import   javax.swing.*;  
   
  public   class   FileTransferHandler   extends   TransferHandler   {  
  private   JTextArea   textarea;  
   
          public   FileTransferHandler(JTextArea   filePathList)   {  
                this.textarea   =   filePathList;  
          }  
   
          public   boolean   importData(JComponent   c,   Transferable   t)   {  
                  try   {  
                  List   files   =   (List)t.getTransferData(DataFlavor.javaFileListFlavor);  
                  FileReader   reader   =   new   FileReader((File)files.get(0));  
                  textarea.read(reader,   null);  
                  reader.close();  
                  return   true;  
                  }   catch   (UnsupportedFlavorException   ufe)   {  
                  ufe.printStackTrace();  
  }   catch   (IOException   e)   {  
  e.printStackTrace();  
  }  
                  return   false;  
          }  
   
          public   boolean   canImport(JComponent   c,   DataFlavor[]   flavors)   {  
              for   (int   i   =   0;   i   <   flavors.length;   i++)   {  
                  if   (DataFlavor.javaFileListFlavor.equals(flavors[i]))   {  
                          return   true;  
                  }  
              }  
              return   false;  
          }  
   
          public   static   void   main(String[]   args)  
  {  
          JTextArea   textarea   =   new   JTextArea(10,   20);  
          textarea.setTransferHandler(new   FileTransferHandler(textarea));  
           
  JFrame   f   =   new   JFrame("拖动文本文件到这个窗口里面");  
  f.getContentPane().add(new   JScrollPane(textarea),   BorderLayout.CENTER);  
  f.pack();  
  f.setLocationRelativeTo(null);  
  f.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);  
  f.setVisible(true);  
  }  
  }Top

2 楼ofking2()回复于 2006-03-14 10:30:24 得分 0

多谢,我试一下先Top

相关问题

  • windows上纯文本文件的最大容量是多少?
  • linux和windows文本文件格式转换问题
  • 文本文件
  • 每当我打开文本文件时,就会出现windows 无法找到sysexplr.exe,
  • 请问如何把windows搜索的结果保存为文本文件?
  • vc#做的windows程序,如何清空有内容的文本文件?
  • 将文本文件拖放文本框,并在文本框中自动打开该文件,谁知道其实现原理啊???
  • 两个问题:如何根据文本文件的字符编码来确定适用什么字符集打开?和文本拖放?
  • 我想问一问高手们,能不能教我写WINDOWS文本文件的代码呀?
  • UNIX下的文本文件存储格式与windows有何不同(尤其是对于newline的处理)?

关键词

  • jtextarea
  • datatransfer
  • filereader
  • awt
  • textarea
  • reader
  • io
  • import java
  • list

得分解答快速导航

  • 帖主:ofking2
  • gtlang78

相关链接

  • CSDN Java频道
  • Java类图书
  • Java类源码下载

广告也精彩

反馈

请通过下述方式给我们反馈
反馈
提问
网站简介|广告服务|VIP资费标准|银行汇款帐号|网站地图|帮助|联系方式|诚聘英才|English|问题报告
北京创新乐知广告有限公司 版权所有, 京 ICP 证 070598 号
世纪乐知(北京)网络技术有限公司 提供技术支持
Copyright © 2000-2008, CSDN.NET, All Rights Reserved
GongshangLogo