我希望子图(org.eclipse.draw2d.Figure)相对于父图的右上角(我想放置一些小图标,它将是ImageFigure,从顶部和右边框开始是12像素)。是否存在可以通过这种方式布局子项的现有布局管理器?
org.eclipse.draw2d.XYLayout无法测量相对于左上角以外角落的位置。
当然,我可以:
但是,我想知道现有的布局管理器是否提供了这种功能。
请注意,问题是关于Eclipse GEF,而不是裸SWT / JFace或Swing。
答案 0 :(得分:0)
许多布局允许您在右侧定位组件。 FlowLayout,BoxLayout,GridBagLayout。使用FlowLayout可能是最简单的。您可以将水平和垂直间隙设置为12使用右对齐,它应该可以解决您的问题。
否则你可以将一个EmptyBorder添加到组件中,其顶部/右侧插入为12,以确保将其精确放置在您想要的位置。
答案 1 :(得分:-1)
标准布局管理器都不会为您做到这一点。
我可以想到两种可能性:
在顶级容器(JWindow,JDialog,JFrame,JApplet)上添加一个玻璃窗格并在那里绘制图标。
创建一个将绘制图标的边框。我更喜欢这个想法,因为它适用于任何JComponent,很明显它是组件上的装饰。