如何拍摄JFXtras Agendatable / ControlsFX电子表格Javafx 8的整个(图像)快照

时间:2015-01-26 09:07:04

标签: java javafx javafx-8 jfxtras controlsfx

在我们的项目中,我们已经使用了类节点的snapshot()来获取Javafx 8表的“屏幕截图”。 snapshot()函数始终采用整个节点/场景的屏幕截图。它适用于常规表, 但由于我们使用的是JFXtras agendatables和ControlsFX电子表格, 快照功能只是带有滚动窗格的当前显示的表格的屏幕截图,表格的其余部分刚刚被删除。

如何拍摄这些表格的“完整”快照?

1 个答案:

答案 0 :(得分:0)

屏幕截图正是它所暗示的:屏幕上的图像与显示的完全一致。如果节点(无论它们是矩形,表格,议程还是电子表格)仅在屏幕上部分可见,则屏幕截图将仅捕获可见的内容。

任何其他行为都会导致有趣的行为:假设通过滚动窗格显示一个包含10.000.000行的表,该滚动窗格仅显示10行。屏幕截图会突然增加1.000.000倍。 如果滚动窗格旁边或下面显示其他节点,它们会去哪里?随着滚动板的增长,它们会向下移动吗?创建该屏幕截图需要一个完整的新布局,并且当表格被截图时实际填充那些10.000.000行。

如果要在滚动窗格内截取更多节点,则需要增加滚动窗格的大小。将其与Excel进行比较:仅创建PC屏幕的屏幕截图将包括可见的工作表部分。如果您需要整个工作表,则需要打印它。所以我怀疑你正在寻找一种打印Agenda / Spreadsheet的方法。但这不是你要问的问题。