文档章节

SWT界面布局介绍之AbsoluteLayout

山东-小木
 山东-小木
发布于 2013/01/15 21:38
字数 359
阅读 1556
收藏 2
点赞 0
评论 2

AbsoluteLayout是SWT界面设计的默认布局方式,采用坐标绝对定位的方式,定义组件的位置和大小。

默认不设置父控件的Layout或者显示使用setLayout(null)设置父控件的布局为AbsoluteLayout绝对布局

例子:使用绝对定位布局制作系统登录界面

要点:设置窗口只有关闭按钮 防止窗口resize后登录界面变形 难看

截图一、主窗体效果

login

截图二、窗体组件大纲视图

login_outline

java代码:

import org.eclipse.swt.SWT;
import org.eclipse.swt.widgets.Button;
import org.eclipse.swt.widgets.Display;
import org.eclipse.swt.widgets.Label;
import org.eclipse.swt.widgets.Shell;
import org.eclipse.swt.widgets.Text;

/**
 * SWT AbsoluteLayout布局使用demo 系统登录界面设计
 * @author xwalker
 *
 */
public class AbsoluteLayoutLoginDemo{
	private Text unameText;
	private Text pwdText;
	private Shell shell;
	
	public void open() {
		Display display = Display.getDefault();
		createContents();
		while (!shell.isDisposed()) {
			if (!display.readAndDispatch()) {
				display.sleep();
			}
		}
	}
	/**
	 * 创建窗口组件
	 */
	protected void createContents(){
		shell=new Shell(SWT.CLOSE);
		shell.setSize(300, 227);
		shell.setLayout(null);
		shell.setText("SWT AbsoluteLayout布局使用");
		unameText = new Text(shell, SWT.BORDER);
		unameText.setBounds(101, 27, 152, 23);
		pwdText = new Text(shell, SWT.BORDER);
		pwdText.setBounds(101, 59, 152, 23);
		
		Label unameLabel = new Label(shell, SWT.NONE);
		unameLabel.setBounds(22, 30, 61, 17);
		unameLabel.setText("用户名");
		
		Label pwdlabel = new Label(shell, SWT.NONE);
		pwdlabel.setBounds(22, 62, 61, 17);
		pwdlabel.setText("密码");
		
		Button remeberCheckbox = new Button(shell, SWT.CHECK);
		remeberCheckbox.setBounds(101, 102, 98, 17);
		remeberCheckbox.setText("记住登录账户");
		
		Button loginBtn = new Button(shell, SWT.NONE);
		loginBtn.setBounds(34, 134, 80, 27);
		loginBtn.setText("登录系统");
		
		Button cancelBtn = new Button(shell, SWT.NONE);
		cancelBtn.setBounds(147, 134, 80, 27);
		cancelBtn.setText("取消登录");
		shell.open();
	}

	public static void main(String[] args) {
		AbsoluteLayoutLoginDemo demo=new AbsoluteLayoutLoginDemo();
		demo.open();
	}
}

注意:一般不推荐使用AbsoluteLayout 布局参数调整麻烦,窗口resize后布局不能适应。

© 著作权归作者所有

共有 人打赏支持
山东-小木
粉丝 201
博文 41
码字总数 25420
作品 0
东营
CEO
加载中

评论(2)

syblogs
syblogs
写的不错,继续吧博主
老牛吃嫩草
老牛吃嫩草
希望楼主继续出SWT布局的,学习了
布局管理器 5-----绝对布局

绝对布局由AbsoluteLayout代表。绝对布局就像java AWT编程中的空布局,就是Android不提供任何布局控制而是由开发人员自己通过X坐标、Y坐标来控制组件的位置。当使用AbsoluteLayout作为布局容...

谷飞
2012/11/10
0
0
浅谈Android五大布局(一)——LinearLayout、FrameLayout和Absoult

Android的界面是有布局和组件协同完成的,布局好比是建筑里的框架,而组件则相当于建筑里的砖瓦。组件按照布局的要求依次排列,就组成了用户所看见的界面。Android的五大布局分别是LinearLay...

墨梅
2014/03/19
0
0
Android入门第二篇之LinearLayout、AbsoluteLayout

本文来自http://blog.csdn.net/hellogv/ Android 的UI 布局都以Layout 作为容器,在上面按照规定排列控件,这方面跟JAVA 的Swing 和LWUIT 很像。控件跟Layout 有很多属性是一样的,可以在Pro...

晨曦之光
2012/03/14
124
0
SWT界面布局介绍之FillLayout

给控件设置FillLayout会使子控件充满父控件的整个空间。FillLayout是SWT布局中最简单的一个,它将所有窗口组件以相同尺寸放置到一行或者一列中,不能换行,也不能自定义边框和距离。下面用一...

山东-小木
2013/01/16
0
3
SWT 程序在不同平台的运行问题?

本人刚从windows平台转到linux平台开发,有很多的问题都不懂,请各位大哥大姐帮忙解决以下。今天在openSuSe下开发SWT程序遇到以下问题: 1、在windows和linux开发出来SWT程序界面效果不一样,...

关XX
2012/07/21
770
2
View和ViewGroup常用方法

Android的UI界面都是由View和ViewGroup及其派生类组合而成的。 其中,View是所有UI组件的基类,而 ViewGroup是容纳这些组件的容器,其本身也是从View派生出来的. View对象是Android平台中用户...

垂盆草
2012/06/30
0
2
Android--UI布局

概述   布局(Layout)的概念是针对Activity的,Activity就是布满整个Android设备的窗口或者悬浮于其他窗口上的交互界面。在一个应用程序中通常由多个Activity构成,每个需要显示的Activit...

analogous_love
01/07
0
0
Android 中文 API 文档 (45) —— AbsoluteLayout.LayoutParams

正文   一、结构     public static class AbsoluteLayout.LayoutParams extends ViewGroup.LayoutParams     java.lang.Object     android.view.ViewGroup.LayoutParams   ......

日久不生情
2017/11/15
0
0
Android开发之AbsoluteLayout绝对布局

Android开发之AbsoluteLayout绝对布局 AbsoluteLayout绝对布局已经被弃用,但是相关API依然有效,其又被称为坐标布局,在iOS开发支持Autolayout之前,所有的布局模式都可以理解为绝对布局。但...

珲少
2016/09/02
113
0
Android入门第三篇之RelativeLayout、FrameLayout

本文来自http://blog.csdn.net/hellogv/ 接下来本文要讲的是RelativeLayout、FrameLayout。 RelativeLayout是一个按照相对位置排列的布局,跟AbsoluteLayout这个绝对坐标布局是个相反的理解。...

晨曦之光
2012/03/14
222
0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

32.filter表案例 nat表应用 (iptables)

10.15 iptables filter表案例 10.16/10.17/10.18 iptables nat表应用 10.15 iptables filter表案例: ~1. 写一个具体的iptables小案例,需求是把80端口、22端口、21 端口放行。但是,22端口我...

王鑫linux
今天
0
0
shell中的函数&shell中的数组&告警系统需求分析

20.16/20.17 shell中的函数 20.18 shell中的数组 20.19 告警系统需求分析

影夜Linux
今天
0
0
Linux网络基础、Linux防火墙

Linux网络基础 ip addr 命令 :查看网口信息 ifconfig命令:查看网口信息,要比ip addr更明了一些 centos 7默认没安装ifconfig命令,可以使用yum install -y net-tools命令来安装。 ifconfig...

李超小牛子
今天
1
0
[机器学习]回归--Decision Tree Regression

CART决策树又称分类回归树,当数据集的因变量为连续性数值时,该树算法就是一个回归树,可以用叶节点观察的均值作为预测值;当数据集的因变量为离散型数值时,该树算法就是一个分类树,可以很...

wangxuwei
昨天
1
0
Redis做分布式无锁CAS的问题

因为Redis本身是单线程的,具备原子性,所以可以用来做分布式无锁的操作,但会有一点小问题。 public interface OrderService { public String getOrderNo();} public class OrderRe...

算法之名
昨天
9
0
143. Reorder List - LeetCode

Question 143. Reorder List Solution 题目大意:给一个链表,将这个列表分成前后两部分,后半部分反转,再将这两分链表的节点交替连接成一个新的链表 思路 :先将链表分成前后两部分,将后部...

yysue
昨天
1
0
数据结构与算法1

第一个代码,描述一个被称为BankAccount的类,该类模拟了银行中的账户操作。程序建立了一个开户金额,显示金额,存款,取款并显示余额。 主要的知识点联系为类的含义,构造函数,公有和私有。...

沉迷于编程的小菜菜
昨天
1
0
从为什么别的队伍总比你的快说起

在机场候检排队的时候,大多数情况下,别的队伍都要比自己所在的队伍快,并常常懊悔当初怎么没去那个队。 其实,最快的队伍只能有一个,而排队之前并不知道那个队快。所以,如果有六个队伍你...

我是菜鸟我骄傲
昨天
1
0
分布式事务常见的解决方案

随着互联网的发展,越来越多的多服务相互之间的调用,这时候就产生了一个问题,在单项目情况下很容易实现的事务控制(通过数据库的acid控制),变得不那么容易。 这时候就产生了多种方案: ...

小海bug
昨天
3
0
python从零学——scrapy初体验

python从零学——scrapy初体验 近日因为一些事情,需要从网上爬取一些东西,故而想通过使用爬虫来顺便学习下强大的python。现将一些学习中遇到的问题记录下来,以便日后查询 1. 开发环境的准...

咾咔叽
昨天
1
0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

返回顶部
顶部