2012-01-06 11 views
2

Listにコンポーネントの上にコンポーネントAとBを配置したいとします。私はリストのテキストが目に見えるようにする必要があります。私はどのレイアウトがそれを行うことができるかを見つけることができません。 この動作はどのようにlwuitにありますか?どのような解決策が存在するか?どのようにコンポーネントを別のものの前面に配置しますか?

enter image description here

答えて

4

コンポーネントのAとBを画面の下に配置し、上にスクロールする場合は、質問は多少不明ですが、jmunozの答えは正しいです。しかし、図面からは、ガラスパネル(非インタラクティブなコンポーネントの場合)またはLayeredLayoutクラスを使用して達成できる「常に上に」の効果が必要なようです。

これは、以下のものを使用して実際には非常に簡単です:

個人的に
myForm.setLayout(new LayeredLayout()); 
myForm.setScrollable(false); 

// will occupy the entire area of the form but should be scrollable 
myForm.addComponent(componentUnderneath); 
Container south = new Container(new BorderLayout()); 
myForm.addComponent(south); 
south.addComponent(BorderLayout.SOUTH, whateverYouWantToPlaceOnTopInTheSouth); 
+0

私はLayerdLayoutクラスは、彼が望んでいるものを達成すると思います。 – Daydah

1

次のことを行う必要があります。

Formは、スクロールをしない必要があります。 Form.setScrollable(false)を使用してください。 'Form 'のレイアウトをBORDER_LAYOUTmyForm.setLayout(new BorderLayout())に設定します。 [OK]をBorderLayoutであなたはあなたが望むようにFormにコンポーネントを置くことができます。

myForm.addComponent(BorderLayout.CENTER, List)BorderLayoutの中央にListコンポーネントとスクロール可能Listと二つの要素が常に見える得ることができます。これにより

Container southContainer = new Container(); 
southContainer.addComponent(A); 
southContainer.addComponent(B); 
myForm.addComponent(BorderLayout.SOUTH, southContainer) 

を使用してレイアウトの南にある他の2つの要素を入れてください。

関連する問題