swt 堆栈式布局 StackLayout
2009-08-27 09:34
package swt.demo;
import org.eclipse.swt.SWT;
public class swtStackLayout {
/**
* 堆栈式布局
*/
public static void main(String[] args) {
Display display = new Display();
final Shell shell = new Shell(display);
GridLayout gl = new GridLayout();
gl.numColumns = 3;
shell.setLayout(gl);// 窗体使用网格布局
shell.setText("StackLayout 堆栈式布局 (在某区域内隐藏控件,选择需要显示的控件)");
final Composite parent = new Composite(shell, SWT.NONE);
parent.setLayoutData(new GridData(GridData.FILL_BOTH));
GridData gd = new GridData(GridData.FILL_BOTH);
gd.horizontalSpan = 3;
parent.setLayoutData( gd );
final StackLayout sl = new StackLayout();
parent.setLayout(sl);
final Button bt1 = new Button(parent, SWT.PUSH);
bt1.setText("普通按钮");
final Button bt2 = new Button(parent, SWT.CHECK);
bt2.setText("多选按钮");
final Button bt3 = new Button(parent, SWT.RADIO);
bt3.setText("单选按钮");
sl.topControl = bt1;
Button sbt1 = new Button(shell, SWT.PUSH);
sbt1.setText("显示普通按钮");
sbt1.addListener(SWT.Selection, new Listener(){
@Override
public void handleEvent(Event event) {
sl.topControl = bt1;
parent.layout();
}
});
Button sbt2 = new Button(shell, SWT.PUSH);
sbt2.setText("显示多选按钮");
sbt2.addListener(SWT.Selection, new Listener(){
@Override
public void handleEvent(Event event) {
sl.topControl = bt2;
parent.layout();
}
});
Button sbt3 = new Button(shell, SWT.PUSH);
sbt3.setText("显示单选按钮");
sbt3.addListener(SWT.Selection, new Listener(){
@Override
public void handleEvent(Event event) {
sl.topControl = bt3;
parent.layout();
}
});
shell.setLocation(100, 100);
shell.setSize(500, 350);
shell.open();
while (!shell.isDisposed()) {
if (!display.readAndDispatch())
display.sleep();
}
display.dispose();
}
}
分享到:
相关推荐
3. `Shell`对象设置布局管理器为`StackLayout`实例。`stackLayout`变量就是这个布局管理器,通过`setLayout(stackLayout)`将其设置到`shell`上。 4. 使用一个`Button`数组创建三个按钮,并将它们添加到`shell`中。每...
2. **布局管理**:在Eclipse SWT中,布局管理器(如`FillLayout`、`GridLayout`、`StackLayout`)用于决定组件在窗口中的位置和大小。通过调整布局,开发者可以创建灵活且适应不同屏幕尺寸的界面。 3. **表单构建器...
2. **布局管理**:SWT提供了多种布局管理器,如填充布局(FillLayout)、网格布局(GridLayout)、单列布局(RowLayout)和堆叠布局(StackLayout),用于控制控件在窗口中的排列方式。 3. **事件处理**:SWT控件...
`stacklayout.cpp`和`stacklayout.h`包含自定义布局类,可能扩展了`QStackLayout`的功能,以更好地适应项目需求。 最后,`drag.png`可能是一个用来表示大小调整抓取区的图形资源,这使得用户更容易识别可拖动的部分...
1. 创建控件:首先,你需要使用C#代码创建控件实例。例如,创建一个Button: ```csharp Button button = new Button(); ``` 2. 设置属性:接着,你可以通过属性设置控件的外观和行为。例如,设置按钮的文字和...
通过创建`GestureDetector`实例,我们可以在其中定义不同的回调函数来处理特定的触摸事件,从而避免冲突。 3. **使用TouchDelegate**:`TouchDelegate`是Android提供的一个工具,用于扩大一个View的触摸区域。通过...
2. **Layouts**: 这里可能展示了各种布局容器,如StackLayout、Grid、AbsoluteLayout和RelativeLayout,用于控制UI元素的位置和大小。 3. **Controls**: 控件示例会涵盖基本和复杂的UI组件,如Picker、DatePicker、...
1. 页面布局:主页面将使用一个可自定义的Layout控件,如Grid或StackLayout,用于放置和展示图片。 2. 图像视图:使用Image控件来显示图片,可能需要设置其Aspect属性以适应不同比例的图片。 3. GestureRecognizer:...
- **布局(Layouts)**:如StackLayout、Grid、RelativeLayout,它们负责组织和定位视图元素。 ### 2. **布局** Xamarin.Forms 提供了多种布局方式,以满足不同界面设计需求: - **StackLayout**:将子元素按垂直...
首先,Draw2D的实例通常由三部分组成:SWT组件、LightweightSystem以及Draw2D的IFigure实例集合。其中,SWT(Standard Widget Toolkit)是用于Java开发的一个跨平台GUI工具包,而LightweightSystem是连接SWT和Draw2D...
常见的布局有FillLayout(填充布局)、GridLayout(网格布局)、StackLayout(堆栈布局)和FormLayout(表单布局)等,它们各自有不同的应用场景。 3. **事件处理**: SWT事件模型允许开发者通过添加事件监听器来...
9. **叠层布局(StackLayout)** 虽然Android官方没有提供这种布局,但开发者可以自定义实现。它按照添加顺序依次堆叠子视图,如同Z轴上的层次关系。 10. **百分比布局(PercentLayout)** 百分比布局(`android....
标题中的“dotnet-XamarinFormsEasyLoading允许您为任何现有布局指定加载状态视图”意味着,无论你的布局设计多么复杂,不论是Grid、StackLayout还是其他类型的布局,你都可以通过EasyLoading库添加一个与之匹配的...
总的来说,Android_SideDrawer项目提供了一个使用NativeScript和Angular构建Android侧边抽屉的实例。通过学习这个项目,开发者可以了解如何在TypeScript中使用`RadSideDrawer`组件来实现抽屉效果,以及如何结合...
为了创建一个`QStackLayout`,你需要首先实例化一个`QStackLayout`对象,然后将需要管理的控件添加到该布局中。在`QStackLayoutDemo`中,这可能是通过以下步骤完成的: 1. 创建`QWidget`对象作为容器,用于存放`...
【标题】"org.eclipse.draw2d.examples" 是一个与Eclipse Draw2D相关的开发实例集合,主要用于展示和学习如何在Eclipse环境中使用Draw2D库进行图形界面编程。 【描述】提到的内容暗示了这个工程可能存在一定的兼容...
在C#中,可以使用Xamarin.Forms的StackLayout、Grid或CollectionView来创建表格,并通过Sensor类或者DeviceOrientation事件来检测设备方向变化,实现界面的自动旋转。 "还有抽奖的游戏"部分,意味着项目中包含了一...
6. **控件和布局**:包括StackLayout、Grid、RelativeLayout等布局容器的使用,以及Button、Label、Entry、ListView等基本UI控件的介绍,以及自定义控件的开发方法。 7. **数据绑定和MVVM模式**:数据绑定是Xamarin...
5. **内存泄漏**:不正确地管理Popup实例可能导致内存泄漏。确保在不再需要Popup时调用Hide()或移除Popup实例。 在分析压缩包文件“XCT-Popup-Issue-master”时,我们可以期望找到可能的代码示例、日志文件或问题...
- **布局(Layouts)**: 布局用于组织视图,如堆栈布局(StackLayout)、网格布局(Grid)和绝对布局(AbsoluteLayout)。这些布局帮助开发者管理屏幕空间,调整视图的大小和位置。 - **页面(Pages)**: 页面是...