热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

stackLayout

stackLayout指的是堆叠布局,拥有该布局的控件可以包含若干控件,但是这些控件具有相同的大小和位置。每次通过指定布局的topControl属性来指定要显示的控件,而其他的

stackLayout

   
指的是堆叠布局,拥有该布局的控件可以包含若干控件,但是这些控件具有相同的大小和位置。每次通过指定布局的topControl属性来指定要显示的控件,而其他的控件不显示。指定显示的控件之后要调用包含该布局控件的layout方法重新布局,实例如下:



import org.eclipse.swt.SWT;
import org.eclipse.swt.custom.StackLayout;
import org.eclipse.swt.events.SelectionAdapter;
import org.eclipse.swt.events.SelectionEvent;
import org.eclipse.swt.layout.FillLayout;
import org.eclipse.swt.layout.RowLayout;
import org.eclipse.swt.widgets.Button;
import org.eclipse.swt.widgets.Composite;
import org.eclipse.swt.widgets.Display;
import org.eclipse.swt.widgets.Shell;
import org.eclipse.swt.widgets.Text;
public class StackLLayout1 {
/**
* Launch the application.
*
*
@param args
*/
public static void main(String[] args) {
Display display
= Display.getDefault();
Shell shell
= new Shell();
shell.setSize(
450, 300);
shell.setText(
"SWT Application");
shell.setLayout(
new FillLayout());
final Composite comp1 = new Composite(shell, SWT.NONE);
final StackLayout stackLayout = new StackLayout();
comp1.setLayout(stackLayout);
// 在comp1中创建两个文本框text
final Text txt1 = new Text(comp1, SWT.BORDER);
txt1.setText(
"txt1");
final Text txt2 = new Text(comp1, SWT.BORDER);
txt2.setText(
"txt2");
//stackLayout.topCOntrol= txt1;

Composite comp2
= new Composite(shell, SWT.NONE);
comp2.setLayout(
new RowLayout());
Button btnButton1
= new Button(comp2, SWT.NONE);
btnButton1.addSelectionListener(
new SelectionAdapter() {
@Override
public void widgetSelected(SelectionEvent e) {
stackLayout.topControl
= txt1; //必须指定显示的控件
comp1.layout(); //重新布局
}
});
btnButton1.setBounds(
360, 10, 72, 22);
btnButton1.setText(
"显示txt1");
Button btnButton2
= new Button(comp2, SWT.NONE);
btnButton2.addSelectionListener(
new SelectionAdapter() {
@Override
public void widgetSelected(SelectionEvent e) {
stackLayout.topControl
= txt2;
comp1.layout();
}
});
btnButton2.setBounds(
360, 80, 72, 22);
btnButton2.setText(
"显示txt2");
shell.open();
shell.layout();
while (!shell.isDisposed()) {
if (!display.readAndDispatch()) {
display.sleep();
}
}
}
}

结果如下:

 

 

bubuko.com,布布扣

stackLayout,布布扣,bubuko.com


推荐阅读
author-avatar
NHHermit
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有