2016-03-23 3 views
0

私のプログラムでは、各図形がテキストを保持する一束のRectangleFiguresを持っています。テキストは、FlowPageによって保持されるTextFlowで保持され、ワー​​ドの折り返しを可能にします。次に、RectangleFigureはgetPrefferedSize()を使用してテキストを保持するのに十分な大きさにします(固定幅を使用)。Draw2d:ズームすると、RectangleFigureを含むとテキストを切り取ることがあります。 (画像が含まれています)

これらのRectangleFiguresは、ScalableLayeredPaneによって保持されます。 setScale()を呼び出してズームしようとすると、問題が発生します。ほとんどの場合、それは正常に動作しますが、時にはテキストの終わりが途切れることがあります。もう一度ズームすると、図が自動的に修正されます。同じ結果を持つRectangleFigureの代わりにFigureを使用してプログラムをテストしたとも言えます。

誰もこのバグを以前に処理したことがありますか、これが起こっているか、回避策が分かっているのかについて、

これはかなり大きなプログラムであり、関連するコードの断片が広がっているので、私はどのコードも含めていません。しかし、あなたがコードを見たいと思ったら、私に知らせてください。私はそれをまとめてみるでしょう。

enter image description here

答えて

0

私は図内のテキストを持っていたし、それは私が上)(getPrefferedSizeを呼んでいた人物でした。しかし、私はそれを2番目のFigure(containerFigureと呼ばれる)の内側に置きました(textFigureと呼ぶことができます)。私は本質的にcontainerFigure.setSize(textFigure.getPrefferedSize())と同等のことをしていました。

あなたはおそらく私がそれをやっていたのか疑問に思います。元々、私はcontainerFigureにtextFigureの代わりに複数のものを保持する予定でした。私は別にコーディングをしましたが、不要な余分なレイヤーは忘れました。

したがって、containerFigureは技術的にはスケーリングに必要なサイズであっても、問題を引き起こしました。しかし、containerFigureを削除してtextFigureを直接画面に配置すると、このバグが修正されました。

これは私のところでかなり具体的なエラーですので、他の人にどのくらいの助けになるか分かりません。あなたが何らかの種類のサイジングの問題を抱えている場合には、親フィギュアのサイズがどのように設定されているかを確認するだけです。子フィギュアからのサイズの使用が正しくない可能性があります。

関連する問題