当前位置: 首页 > 知识库问答 >
问题:

JTable Ctrl+C事件的名称是什么?

孙凌
2023-03-14

共有1个答案

颛孙和悌
2023-03-14

表的复制操作的关键字是“copy”:

Action copyAction = table.getActionMap().get("copy");

但我看不到回收操作的有用方法:

JButton button = new JButton(copyAction);

相反,只需将表的当前选择导出到系统剪贴板。

JFrame f = new JFrame("Test");
f.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
TableModel model = new DefaultTableModel(
    new Object[][]{{"Some"}, {"More"}}, new Object[]{"Name"});
final JTable table = new JTable(model);
table.getSelectionModel().setSelectionInterval(0, 1);
f.add(table);
f.add(new JButton(new AbstractAction("Export") {

    @Override
    public void actionPerformed(ActionEvent e) {
        Clipboard clipboard = Toolkit.getDefaultToolkit().getSystemClipboard();
        table.getTransferHandler().exportToClipboard(
            table, clipboard, TransferHandler.COPY);
        Transferable contents = clipboard.getContents(null);
    }
}), BorderLayout.SOUTH);
f.pack();
f.setLocationRelativeTo(null);
f.setVisible(true);
final DefaultTableModel model = new DefaultTableModel(
    new Object[][]{
    {"A1", "A2", "A3", "A4", "A5"},
    {"B1", "B2", "B3", "B4", "B5"},
    {"C1", "C2", "C3", "C4", "C5"},
    {"D1", "D2", "D3", "D4", "D5"},
    {"E1", "E2", "E3", "E4", "E5"},
    {"F1", "F2", "F3", "F4", "F5"}
},
    new Object[]{"1", "2", "3", "4", "5"});
JFrame f = new JFrame("Test");
f.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
final JTable table = new JTable(model);
table.getSelectionModel().setSelectionInterval(0, 1);
f.add(table);
f.add(new JButton(new AbstractAction("Export") {
    @Override
    public void actionPerformed(ActionEvent e) {
        Clipboard cb = Toolkit.getDefaultToolkit().getSystemClipboard();
        cb.setContents(new TableTransferable(model), new ClipboardOwner() {
            @Override
            public void lostOwnership(Clipboard clipboard, Transferable contents) {
                System.out.println("Clipboard lost!");
            }
        });
    }
}), BorderLayout.SOUTH);
f.pack();
f.setLocationRelativeTo(null);
f.setVisible(true);
 类似资料:
  • 问题内容: 我正在开发Java应用程序,当我在jTable上按CTRL + C时,我可以获取剪贴板并将其粘贴到Excel中。我想实现一个功能相同的按钮。我如何获得该函数,侦听器,无论可以用来实现此功能的是什么? PS:我曾尝试看过其他问题,但似乎没有人在寻找我想要的东西。 问题答案: 该表的复制操作的关键是: 但我看不到回收的有用方法: 相反,只需将表的当前选择导出到系统剪贴板。 附录:此变体依赖

  • 问题内容: 什么是PHP命名空间? 一般而言,命名空间是什么? 一个有例子的Layman答案会很棒。 问题答案: Namespacing对函数和类起作用,而作用域对变量起作用。它允许您在同一程序的不同部分中使用相同的函数或类名称,而不会引起名称冲突。 简单来说, 将名称空间视为一个人的姓氏 。如果有两个人名为“ John”,则可以使用他们的姓氏来区分他们。 场景 假设您编写了一个使用名为的函数的应

  • 什么事件名称谷歌地图触摸初始化标记,出现标题或描述?google.maps.event.add监听器(标记,触摸启动,

  • 使用指南 - 数据报告 - 访问分析 - 什么是事件 事件是网页内部某个可以点击的交互元素的点击。 如下载、移动广告点击、小工具、Flash 元素、AJAX 嵌入式元素以及视频播放等。 利用百度统计的“事件分析”报告(点此了解事件分析报告如何使用),可以对事件的点击情况进行跟踪。如何安装高级事件跟踪代码请参考链接:https://www.wenjiangs.com/doc/nqW2asFX。 如果

  • 问题内容: 我刚刚开始学习Python,并在Python中遇到了 “命名空间” 概念。虽然我了解了它的本质,但无法理解这个概念的严重性。 网上的一些浏览显示,反对PHP的原因之一是它没有对名称空间的本地支持。 有人可以解释如何使用名称空间以及此功能如何使编程更好 (不只是在Python中,因为我假设名称空间的概念不限于特定语言)。 我主要来自Java和C编程背景。 问题答案: 命名空间是一种实现范

  • 问题内容: 在SQL中,当我创建数据库索引时,需要给索引起一个名字,例如 似乎唯一需要此名称的时间是我要删除带有 索引名称还有其他用途吗? 问题答案: T-SQL链接