Draw2d:包含 RectangleFigure 有时会在缩放时切断文本。 (包括图片)

Draw2d: Containing RectangleFigure will sometimes cuts off text when zoomed. (Pictures included)

在我的程序中,我有一堆 RectangleFigures,每个图形都包含文本。文本保存在 FlowPage 保存的 TextFlow 中以允许自动换行。 RectangleFigure 然后使用 getPrefferedSize() 使其自身足够大以容纳其文本(使用固定宽度)。

这些 RectangleFigures 由 ScalableLayeredPane 保存。当我尝试通过调用 setScale() 进行缩放时,问题就出现了。大多数时候它工作正常,但有时文本的结尾会被截断。如果我再次缩放,该图将自行纠正。我还应该说,我已经使用 Figure 而不是 RectangleFigure 测试了我的程序,结果相同。

有没有人以前处理过这个错误,并且可以阐明为什么会发生这种情况and/or知道任何解决方法吗?

我没有包含任何代码,因为这是一个相当大的程序并且相关的代码块分散开来。但是,如果您想查看代码,请告诉我,我会尝试将其拼凑起来。

我将文本保存在一个图形中,这就是我在其上调用 getPrefferedSize() 的图形。但是我随后将那个图(我们称之为 textFigure)放在第二个图(称为 containerFigure)中。我基本上是在做相当于 containerFigure.setSize(textFigure.getPrefferedSize()).

您可能想知道我为什么要那样做。嗯,最初我计划让 containerFigure 容纳多个东西,而不仅仅是 textFigure。我最终以不同的方式编码但忘记了不必要的额外层。

因此,即使从技术上讲 containerFigure 是它需要缩放的大小,也会引起问题。但是当我删除 containerFigure 并开始将 textFigure 直接放在屏幕上时,这个错误得到了修复。

这是我的一个相当具体的错误,所以我不知道这对其他人有多大帮助。如果您遇到某种大小问题,要使其更广泛,只需检查父图形的大小是如何设置的。使用子图的尺寸可能不正确 and/or 导致问题。