2

JGoodies FormLayout の使用:

挨拶、名前、名を含むパネルがあります。これを NamePanel と呼びましょう。最初の Panel を含み、さらにいくつかの行を追加する別の Panel を作成したいと思います。これを NamedAddressPanel と呼びましょう NamePanel のレイアウトは次のようになります。

Salutation | textfield

Name       | textfield

ForeName   | textfield

そのため、大きな Panel は、小さな NamePanel を配置することでそれ自体を構築し、その下にさらにいくつかの行を配置します。したがって、次のように構築されます。

NamePanel

Street       | textfield 

Streetnumber | textfield

これの問題のある結果は次のようになります。

Salutation | textfield

Name       | textfield

ForeName   | textfield


Street       | textfield 

Streetnumber | textfield

私はそれを次のようにしたい:

Salutation   | textfield

Name         | textfield

ForeName     | textfield


Street       | textfield 

Streetnumber | textfield

NamePanel のラベルは、NamedAddressPanel でその下に追加されたものとは異なる幅になります。NamePanel と NamedAddressPanel は FormLayout の 2 つの異なるインスタンスを使用するため、それらは互いに正しく整列しません。

現在、これに対する私の唯一の解決策は、すべてのパネルで同じラベル列に固定幅を使用することです。しかし、たまたま長すぎるラベル テキストを追加すると、明らかに簡単に壊れてしまいます。

私が考えることができるもう 1 つの方法は、何らかの形で同じレイアウトを使用することですが、このようにパネルを分割して再利用できるようにしたいと考えています。つまり、最初はこれを 1 つの Panel として持っていましたが、NamePanel 自体をもう 1 つの場所に配置する必要があるため、分割しました。

別の FormLayout と列幅を交渉するように FormLayout に伝えることはできますか? 基本的には setColumGroups に似ていますが、複数の FormLayouts がありますか?

4

0 に答える 0