如何设置Composite的可覆盖范围?

Frank6600 2015-04-01 10:52:24

public class Frame extends Composite {

public Frame(Composite parent, int style) {
super(parent, style);
setForeground(Display.getCurrent().getSystemColor(SWT.COLOR_GRAY));
addPaintListener(new PaintListener() {
@Override
public void paintControl(PaintEvent e) {
Rectangle clientArea = getClientArea();
e.gc.drawRectangle(1, 1, clientArea.width - 3, clientArea.height - 3);
}
});

}


我创建一个自动绘制边框的新Composite(代码如上)(CS模式,SWT)
但是在使用时,边框经常被放在它上面的Label盖住,尤其是使用FillLayout等布局时更是如此。

请问,如何重置Frame的ClientArea(或其他),使放在上面的其他Composite等不会不小心盖掉我自绘的边框?(包括布局时)
...全文
93 回复 打赏 收藏 转发到动态 举报
写回复
用AI写文章
回复
切换为时间正序
请发表友善的回复…
发表回复

62,614

社区成员

发帖
与我相关
我的任务
社区描述
Java 2 Standard Edition
社区管理员
  • Java SE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧