GridLayout网格布局时最常用的布局之一,类似于Html中使用table布局。通过使用GridData来设置布局参数。

做个例子看看。

代码:

import org.eclipse.swt.SWT;

import org.eclipse.swt.layout.FillLayout;

import org.eclipse.swt.layout.GridData;

import org.eclipse.swt.layout.GridLayout;

import org.eclipse.swt.widgets.Button;

import org.eclipse.swt.widgets.Composite;

import org.eclipse.swt.widgets.Display;

import org.eclipse.swt.widgets.Group;

import org.eclipse.swt.widgets.Label;

import org.eclipse.swt.widgets.List;

import org.eclipse.swt.widgets.Shell;

import org.eclipse.swt.widgets.Text;

/**

* SWT FillLayout布局使用demo 发邮件

* @author xwalker

*

*/

public class GridLayoutDemo{

private Shell shell;

private Text toAddrText;

private Text topicText;

private Text ccText;

private Text labelText;

private Button sendBtn;

private Button timSendBtn;

private Button saveBtn;

private Composite composite;

private Group group;

public void open() {

Display display = Display.getDefault();

createContents();

while (!shell.isDisposed()) {

if (!display.readAndDispatch()) {

display.sleep();

}

}

}

/**

* 创建窗口组件

*/

protected void createContents(){

shell=new Shell();

shell.setText("发邮件");

shell.setSize(800, 450);

shell.setLayout(new GridLayout(5, false));

Label toLabel = new Label(shell, SWT.NONE);

toLabel.setLayoutData(new GridData(SWT.RIGHT, SWT.CENTER, false, false, 1, 1));

toLabel.setText("收件人");

toAddrText = new Text(shell, SWT.BORDER);

toAddrText.setLayoutData(new GridData(SWT.FILL, SWT.CENTER, true, false, 3, 1));

composite = new Composite(shell, SWT.NONE);

composite.setLayout(new FillLayout(SWT.HORIZONTAL));

GridData gd_composite = new GridData(SWT.FILL, SWT.FILL, false, false, 1, 4);

gd_composite.widthHint = 171;

composite.setLayoutData(gd_composite);

group = new Group(composite, SWT.NONE);

group.setText("联系人");

group.setLayout(new FillLayout(SWT.HORIZONTAL));

List list = new List(group, SWT.BORDER);

insertData(list);

Label topiclabel = new Label(shell, SWT.NONE);

topiclabel.setLayoutData(new GridData(SWT.RIGHT, SWT.CENTER, false, false, 1, 1));

topiclabel.setText("主题");

topicText = new Text(shell, SWT.BORDER);

topicText.setLayoutData(new GridData(SWT.FILL, SWT.CENTER, true, false, 3, 1));

Label ccLabel = new Label(shell, SWT.NONE);

ccLabel.setLayoutData(new GridData(SWT.RIGHT, SWT.CENTER, false, false, 1, 1));

ccLabel.setText("抄送");

ccText = new Text(shell, SWT.BORDER);

ccText.setLayoutData(new GridData(SWT.FILL, SWT.CENTER, true, false, 3, 1));

Label contentLabel = new Label(shell, SWT.NONE);

contentLabel.setLayoutData(new GridData(SWT.RIGHT, SWT.CENTER, false, false, 1, 1));

contentLabel.setText("内容");

labelText = new Text(shell, SWT.BORDER);

GridData gd_labelText = new GridData(SWT.FILL, SWT.FILL, true, false, 3, 1);

gd_labelText.heightHint = 232;

labelText.setLayoutData(gd_labelText);

new Label(shell, SWT.NONE);

sendBtn = new Button(shell, SWT.NONE);

sendBtn.setText("发送");

timSendBtn = new Button(shell, SWT.NONE);

timSendBtn.setText("定时发送");

saveBtn = new Button(shell, SWT.NONE);

saveBtn.setText("存草稿");

new Label(shell, SWT.NONE);

shell.open();

}

private void insertData(List list) {

for(int i=1;i<=20;i++){

list.add("联系人"+i);

}

}

public static void main(String[] args) {

GridLayoutDemo demo=new GridLayoutDemo();

demo.open();

}

}

java swt gridlayout_SWT界面布局介绍之GridLayout相关推荐

  1. 【贪玩巴斯】Unity3D初学圣经(二)—— unity界面布局介绍 unity常用面板介绍 「1-5 到 1-7」—— 2022年1月20日

    [贪玩巴斯]Unity3D初学圣经 二-- unity界面布局介绍 & unity常用面板介绍 「1-5 到 1-7」-- 2022年1月20日 本文对应视频P5 1-5 到P7 1-7 un ...

  2. java swt gridlayout_SWT(JFace)体验之GridLayout布局

    GridLayout布局 GridLayout 布局的功能非常强大,也是笔者常用的一种布局方式.GridLayout是网格式布局,它把父组件分成一个表格,默认情况下每个子组件占据一个单元格的空间,每个 ...

  3. java swt gridlayout_SWT GridLayout使用总结

    GridLayoutFactory 里面所有方法都是链式调用,设置完GridLayout的参数后,调用applayTo::Composite,为一个Composite设置layout.Composit ...

  4. java swt 几种布局_实战SWT布局

    fortune 阅读(577) 评论(0)  编辑  收藏 所属分类: java技术 标准的SWT布局类FillLayout:在容器中以相同的大小单行或单列的排列组件 RowLayout:以单行或多行 ...

  5. java 图形化界面 布局管理器

    1 package Layout; 2 import java.awt.*; 3 import javax.swing.*; 4 public class MyBorderLayout extends ...

  6. CH2-Android常见界面布局

    文章目录 目标 一.View视图 二.界面布局编写方式 2.1 在XML文件中编写布局 2.2 在Java代码中编写布局 三.界面布局的通用属性 四.线性布局 4.1 LinearLayout 4.2 ...

  7. java 网格布局管理器,Java图形化界面设计——布局管理器之GridLayout(网格布局)...

    网格布局特点: l  使容器中的各组件呈M行×N列的网格状分布. l  网格每列宽度相同,等于容器的宽度除以网格的列数. l  网格每行高度相同,等于容器的高度除以网格的行数. l  各组件的排列方式 ...

  8. java swt gridlayout_关于SWT中的GridLayout布局方式

    GridLayout 布局的功能非常强大,也是笔者常用的一种布局方式.GridLayout是网格式布局,它把父组件分成一个表格,默认情况下每个子组件占据一个单元格的空间,每个子组件按添加到父组件的顺序 ...

  9. 【Java AWT 图形界面编程】LayoutManager 布局管理器 ④ ( GridLayout 网格布局 | GridBagLayout 网格包布局 )

    文章目录 一.GridLayout 网格布局 二.GridLayout 构造函数 三.GridLayout 网格布局代码示例 四.GridBagLayout 网格包布局 一.GridLayout 网格 ...

最新文章

  1. linux 入门-1
  2. Hyper-V的三种网卡
  3. Centos7系统下httpd各种方式实现与配置
  4. 得到win7 win8的桌面句柄
  5. git idea 分支合并到另一个分支_idea如何在Git上将分支代码合并到主分支
  6. apache公司主要是做什么的
  7. ubuntu16.04下更新UHD3.14+GNURadio3.7.13.5
  8. 数据结构 稀疏矩阵的实现方法
  9. java pdf添加图片_java实现在pdf模板的指定位置插入图片
  10. 解决WARN TaskSchedulerImpl: Initial job has not accepted any resources;
  11. 【JZOJ3824】【NOIP2014模拟9.9】渴
  12. 使用webpack5模块联邦
  13. 分享20佳移动应用程序开发框架
  14. 从文本中提取单词生成单词本
  15. 期权期货及其它衍生品笔记——第三章利用期货的对冲策略
  16. Unity 面试题汇总(五)性能优化知识点相关
  17. 机器学习告诉你,新型冠状病毒接下来将如何变异?
  18. Android SystemUI 架构详解
  19. 全国计算机考试励志语,有关在考试的时候励志句子
  20. thinkpad x12018换固态_ThinkPad X1 Carbon 2018.超强升级

热门文章

  1. PR控制以及使用PR控制用于单相离/并网逆变器
  2. 代码随想录算法训练营第二天| 977有序数组平方、207最小子数组、59螺旋矩阵II。
  3. 电大计算机网络本科形成性考核,(2017年电大)中央电大计算机网络本科形成性考核册答案.doc...
  4. secscan-authcheck(越权漏洞检测工具) 安装总结
  5. Android开发之第一个小项目--我的MP3播放器(一)
  6. [C语言]字节跳动2019春招研发部分编程题
  7. 基于单片机的手机无线充电器系统设计电路(毕业设计资料)
  8. 如何从Mac 重置忘记的iCloud密码
  9. termux获取sd卡读写权限_我牵手金士顿小蓝TF卡成功上岛啦
  10. 南邮《汇编语言程序设计》2018/2019 学年第一学期期末考试回忆