首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

如何将文件拖放到JTable中?

要将文件拖放到JTable中,可以使用Java的Swing库中的TransferHandlerDropTarget类。以下是一个简单的示例代码:

代码语言:java
复制
import javax.swing.*;
import javax.swing.table.DefaultTableModel;
import java.awt.*;
import java.io.File;

public class FileDragAndDropToJTable {
    public static void main(String[] args) {
        JFrame frame = new JFrame("File Drag and Drop to JTable");
        frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
        frame.setSize(600, 400);

        DefaultTableModel model = new DefaultTableModel();
        model.addColumn("File Name");
        model.addColumn("File Size");

        JTable table = new JTable(model);
        table.setDragEnabled(true);
        table.setDropMode(DropMode.INSERT_ROWS);
        table.setTransferHandler(new FileTransferHandler());

        JScrollPane scrollPane = new JScrollPane(table);
        frame.add(scrollPane);

        frame.setVisible(true);
    }

    static class FileTransferHandler extends TransferHandler {
        @Override
        public boolean canImport(TransferSupport support) {
            if (!support.isDataFlavorSupported(DataFlavor.javaFileListFlavor)) {
                return false;
            }
            return true;
        }

        @Override
        public boolean importData(TransferSupport support) {
            if (!canImport(support)) {
                return false;
            }

            Transferable transferable = support.getTransferable();
            try {
                java.util.List<File> files = (java.util.List<File>) transferable.getTransferData(DataFlavor.javaFileListFlavor);
                JTable table = (JTable) support.getComponent();
                DefaultTableModel model = (DefaultTableModel) table.getModel();

                for (File file : files) {
                    model.addRow(new Object[]{file.getName(), file.length()});
                }

                return true;
            } catch (Exception e) {
                e.printStackTrace();
            }

            return false;
        }
    }
}

在这个示例中,我们创建了一个简单的JFrame,其中包含一个JTable。我们使用TransferHandlerDropTarget类来实现文件拖放功能。当用户将文件拖放到JTable上时,文件的名称和大小将添加到表格中。

这个示例仅仅是一个简单的示例,您可以根据您的需求进行修改和扩展。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

  • jTable插件辅助资料

    ==============================================jTable插件================================================ 【】引入jtable <link rel="stylesheet" type="text/css" href="../jtable/themes/lightcolor/blue/jtable.min.css" /> <script type="text/javascript" src="../jtable/jquery.jtable.min.js"></script> <script type="text/javascript" src="../jtable/localization/jquery.jtable.zh-CN.js"></script> 注:jTable插件需要jquery UI插件。之前要引入jQuery和jQueryUI 【】Servlet生成JSON结果 collegeList=collegeBusiness.getListByAll(); //定义数据返回JSON map Map<String, Object> jsonMap = new HashMap<String, Object>(); jsonMap.put("Result", "OK"); jsonMap.put("Records", collegeList); JSONObject result=JSONObject.fromObject(jsonMap); HttpServletResponse response=ServletActionContext.getResponse(); response.setContentType("application/json"); response.setCharacterEncoding("UTF-8"); PrintWriter out=response.getWriter(); out.println(result.toString()); out.flush(); out.close(); 【】jtable要求的返回格式 {  "Result":"OK",  "Records":[   {"PersonId":1,"Name":"Benjamin Button","Age":17,"RecordDate":"\/Date(1320259705710)\/"},   {"PersonId":2,"Name":"Douglas Adams","Age":42,"RecordDate":"\/Date(1320259705710)\/"},   {"PersonId":3,"Name":"Isaac Asimov","Age":26,"RecordDate":"\/Date(1320259705710)\/"},   {"PersonId":4,"Name":"Thomas More","Age":65,"RecordDate":"\/Date(1320259705710)\/"}  ] } 【】当出现异常后的jTable要求的结果 {    "Result":"ERROR",    "Message":"异常信息字符串" } 【】jTable的语法  $('#MyTableContainer').jtable({             //General options comes here             actions: {                 //Action definitions comes here             },             fields: {                 //Field definitions comes here             }             //Event handlers... });      【】jtable初始化 1.定义jTable显示的区域div

    2.在JS中初始化jTable //定义部门表格 $('div#departmentmaincontent').jtable({            title: '部门列表',            selecting: true, //Enable selecting            multiselect: false, //not Allow mu

    04

    ffmpeg任意视频批量转码MP4-H264助手

    简单的粗暴的小工具,利用windows命令行调用ffmpeg完成任意格式视频转换成H264编码的MP4视频,以确保视频可以在主流浏览器中直接播放,如:Chrome、Firefox等。只需要将包含视频的文件夹或单个视频文件拖放到【视频转码助手.bat】图标上即可。如果拖放的是文件夹,则会在该文件夹下生成一个名称为mp4的目录,用来存放转换完成的mp4视频,与原始视频文件同名,并且批量转换该文件夹下的所有视频。如果拖放的是单个视频文件,则会在该视频文件相同目录下生成一个名称为mp4的目录,用来存放转换完成的mp4视频,与原始视频文件同名。转换速度依据电脑配置高低而定。

    02
    领券