強化されたマルチメディア、Web ビューアー、および視覚効果を使用できる可能性があるため、プロジェクトで Swing の代わりに JavaFX を使用しています。ただし、Web ( http://docs.oracle.com/javafx/2/layout/jfxpub-layout.htmなど) で見つけたものから学んだことは、 JavaFXレイアウト マネージャーはサイズのスケーリングに重点を置いているということです。 content のサイズに基づく親ですが、 Swingは、少なくとも使用されているに基づいて、parent に従ってコンテンツをスケーリングすることに重点を置いてLayout
います。
現在、私は何人Accordion
かのTitledPane
子供たちと一緒に使用しています。そのうちの 1 つにはGridPane
、単純な理由で、エミュレートするための最善の方法が含まれていますGridLayout
(以前の質問から学んだように、JavaFX レイアウトは GridLayout に相当します)。TitledPane
のコンテンツを 2 行と 1 列に分割し、各行の高さを で使用可能なスペースの 50% (またはTitledPane
でスケーリング) にしたいと考えています。このために、with 2 s usingと 1 withを追加しました。ただし、コンテンツがグリッドで適切にスケーリングされていることに気付きましたが、グリッドが使用可能なすべてのスペースを占有していませんStage
Scene
GridLayout(2,1)
BorderLayout.CENTER
GridPane
RowConstraint
setPercentHeight(50)
ColumnConstraint
setPercentWidth(100)
TitledPane
(どうやら a の中心のように振る舞わないためBorderPane
)。また、コンテンツを親に合わせてスケーリングしようとしましsetMaxWidth
たが、どちらもうまくいかないようです (ここで述べたように: JavaFX: How to make my custom component use all available space fromparent layout? )。たとえそれができたとしても、UI 要素ツリーのすべての子孫に最大幅を設定して、それらすべてを拡大縮小する必要がありますか?
TitledPane
いずれにせよ、タイトル付きペインのサイズに合わせて拡大縮小する 2 つの等しいスペースを互いの下に配置する方法を知っている人はいますか?