在我们的项目中,我们已经使用了类节点的 snapshot() 来获取 Javafx 8 表的“屏幕截图”。snapshot() 函数总是对整个节点/场景进行截图。它确实适用于常规表格,但由于我们使用的是 JFXtras 议程表和 ControlsFX 电子表格,因此快照功能仅使用滚动窗格截取当前显示的表格的屏幕截图,而表格的其余部分则被剪掉。
我如何拍摄这些表格的“完整”快照?
在我们的项目中,我们已经使用了类节点的 snapshot() 来获取 Javafx 8 表的“屏幕截图”。snapshot() 函数总是对整个节点/场景进行截图。它确实适用于常规表格,但由于我们使用的是 JFXtras 议程表和 ControlsFX 电子表格,因此快照功能仅使用滚动窗格截取当前显示的表格的屏幕截图,而表格的其余部分则被剪掉。
我如何拍摄这些表格的“完整”快照?
屏幕截图正是它所暗示的:完全按照屏幕显示的方式拍摄的图像。如果节点(无论它们是矩形、表格、议程还是电子表格)在屏幕上仅部分可见,则屏幕截图将仅捕获可见的内容。
任何其他行为都会导致有趣的行为:假设通过仅显示 10 行的滚动窗格显示具有 10.000.000 行的表。屏幕截图会突然增加 1.000.000 倍。如果在该滚动窗格旁边或下方显示其他节点,它们会去哪里?随着滚动窗格的增长,它们会向下移动吗?创建该屏幕截图需要一个完整的新布局,并在截取表格时实际填充这 10.000.000 行。
如果要在滚动窗格内截取更多节点,则需要增加滚动窗格的大小。将其与 Excel 进行比较:创建 PC 屏幕的屏幕截图将仅包含工作表中可见的部分。如果你想要整个工作表,你需要打印它。所以我怀疑你正在寻找一种打印议程/电子表格的方法。但这不是你要问的问题。