SWT--堆栈布局

堆栈布局

  • 多个窗口叠加,有顺序有先后,需要的显示在最顶层
    在这里插入图片描述
  • 可以在各种窗口,面板中堆栈式布局

先创建几个Composite

在这里插入图片描述

问题情景:在composite中堆栈式布局,当点击bottom_1时将composite_1展示,当点击bottom_2将composite_2展示

(composite_1,composite_2是依据上截图创建好的composite)

  • 创建堆栈布局
private StackLayout stackLayout = new StackLayout();
  • 开始时,将composite设为堆栈布局(容纳composite_1,composite_2)----
    composite直接默认填充式布局
Composite composite = new Composite (shell, SWT.NONE);
composite.setLayout(stackLayout);
  • 创建所有的面板——Composite
Composite_1 composite_1 = new Composite_1 (Composite, SWT.NONE);
Composite_2 composite_2 = new Composite_2 (Composite, SWT.NONE);
  • 设置composite在堆栈顶
stackLayout.topControl = composite;
  • 点击bottom_1时将composite_1展示—在bottom_1的点击事件中的代码
//修改堆栈式布局的栈顶面板
stackLayout.topControl = composite_1;
//刷新布局
compositet.layout();
  • 点击bottom_2时将composite_2展示—在bottom_2的点击事件中的代码
//修改堆栈式布局的栈顶面板
stackLayout.topControl=composite_2;
//刷新布局
compositet.layout();

为了后期维护,创建一个XXXDataDirck类保存在XXX中要显示的Composite


/**
 * 维护堆栈式布局——数据导航
 */
import org.eclipse.swt.custom.StackLayout;
import org.eclipse.swt.widgets.Composite;

public class CompositeDataDirck {
	//创建堆栈布局
	public static StackLayout stackLayout = new StackLayout();

	public static Composite_1 composite_1;
	public static Composite_2 composite_2;
}

  • 使用:CompositeDataDirck.composite_1
  • 后续所有在composite下的面板都放在这个工具类下
  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值