0

子のFigure(org.eclipse.draw2d.Figure)を親の右上隅に対して相対的な位置にしたい(ImageFigureとなる小さなアイコンを右上の境界線から12ピクセルの位置に配置したい)。この方法で子をレイアウトできる既存のレイアウトマネージャーはありますか?

org.eclipse.draw2d.XYLayoutは、左上以外のコーナーを基準にした位置を測定できません。

もちろん出来る:

  1. 自分でレイアウトマネージャーを書く
  2. レイアウトの子は、親の境界が変更されるたびに計算されます(親のlayout()メソッド内)。

ただし、既存のレイアウトマネージャーがその機能を提供しているかどうかを知りたいです。

質問はEclipseGEFに関するものであり、裸のSWT/JFaceやSwingに関するものではないことに注意してください。

4

2 に答える 2

0

多くのレイアウトでは、コンポーネントを右側に配置できます。FlowLayout、BoxLayout、GridBagLayout。FlowLayout を使用するのがおそらく最も簡単でしょう。水平方向と垂直方向のギャップを 12 に設定して、適切な配置を使用するだけで、問題が解決するはずです。

または、EmptyBorder をコンポーネントに追加して、12 を上/右に挿入して、必要な場所に正確に配置されるようにすることもできます。

于 2010-03-19T15:52:51.757 に答える
-1

標準のレイアウト マネージャーは、それを行いません。

私は2つの可能性を考えることができます:

  1. 最上位のコンテナー (JWindow、JDialog、JFrame、JApplet) にグラス ペインを追加し、そこにアイコンをペイントします。

  2. アイコンを描画する Border を作成します。このアイデアは、任意の JComponent で機能し、コンポーネントの装飾であることは明らかであるため、むしろ気に入っています。

于 2010-03-19T15:57:55.723 に答える