在 Eclipse 的 NatTables 中复制 headers
Copy headers in NatTables in Eclipse
我想每次也复制行 header,当某些行被复制到剪贴板时。我发现了这个:
Handler class 用于将 SelectionLayer 中的选定数据复制到剪贴板。此处理程序默认注册到 SelectionLayer,不引用 header 区域。您可以通过将此处理程序的实例注册到 SelectionLayer 之上的层来覆盖复制数据行为。这样,注册的自定义实例将使用 CopyDataToClipboardCommand,并且不会调用注册的默认处理程序。
但是我不是很了解。我是 运行:
public class CopyDataAction implements IKeyAction {
public void run(NatTable natTable, KeyEvent event) {
natTable.doCommand(new CopyDataToClipboardCommand("\t", System.getProperty("line.separator"),
natTable.getConfigRegistry()));
}
}
可以只更改一些配置吗?还是我应该实现自己的处理程序来覆盖默认行为?
您需要在 SelectionLayer
之上的层上注册一个 CopyDataCommandHandler
实例,该实例是通过引用 header 层创建的。实际上也应该可以在 SelectionLayer
上注册它,因为它应该覆盖默认的注册实例。
没有配置。您需要使用命令处理程序进行自定义。但是现有的实现提供了实现您想要的功能的可能性,而无需创建自定义命令处理程序。
我想每次也复制行 header,当某些行被复制到剪贴板时。我发现了这个: Handler class 用于将 SelectionLayer 中的选定数据复制到剪贴板。此处理程序默认注册到 SelectionLayer,不引用 header 区域。您可以通过将此处理程序的实例注册到 SelectionLayer 之上的层来覆盖复制数据行为。这样,注册的自定义实例将使用 CopyDataToClipboardCommand,并且不会调用注册的默认处理程序。
但是我不是很了解。我是 运行:
public class CopyDataAction implements IKeyAction {
public void run(NatTable natTable, KeyEvent event) {
natTable.doCommand(new CopyDataToClipboardCommand("\t", System.getProperty("line.separator"),
natTable.getConfigRegistry()));
}
}
可以只更改一些配置吗?还是我应该实现自己的处理程序来覆盖默认行为?
您需要在 SelectionLayer
之上的层上注册一个 CopyDataCommandHandler
实例,该实例是通过引用 header 层创建的。实际上也应该可以在 SelectionLayer
上注册它,因为它应该覆盖默认的注册实例。
没有配置。您需要使用命令处理程序进行自定义。但是现有的实现提供了实现您想要的功能的可能性,而无需创建自定义命令处理程序。