`
fm2005
  • 浏览: 17828 次
社区版块
存档分类
最新评论

用FormLayout打造自适应窗体大小的控件布局

 
阅读更多

作SWT程序界面时很多窗体的大小是可变。在大小不固定的窗体里怎么使里面的控件在任意大小下都能保持美观是将让人头疼的事情。FormLayout的布局方式就是解决这一问题的灵丹妙药。上图是王道,看图先:
我胖


我瘦



我标准



以上就是一个窗体在不同大小下的效果,控件随着窗体的大小改变大小和位置,这就是FormLayout的布局方式的的功劳。
FormLayout的布局方式的精髓就两个字“相对”。

下面先看看设计界面:




在设计器里面点击文本框[name_text]可以看到上下左右各出现一个小箭头,这四个箭头就是用来设置该控件在四个方向上的相对位置。
先看看上:
点击上箭头会出现五个小按钮
第一个是设置控件[上边]相对容器
[上边],偏移量为具体数字。
第二个是
置控件[上边]相对容器[底边],偏移量为具体数字。
第三个是设置控件[上边]相对容器[上边],偏移量为百分比。
第四个是设置控件[上边]相对容器内某控件的位置偏移量为具体数字。
第五个是取消设置。

箭头、箭头和下箭头点击以后与此类似。

举例说明:
对于文本框[name_text],我们这样设置:
[上边]相对容器[上边],偏移量为具体数字。
[左边]相对容器[左边],偏移量为具体数字。
[右边]相对容器[右边],偏移量为具体数字。(当容器改变宽度的时候,控件宽度跟着改变)
[下边]相对容器[上边],偏移量为具体数字。(当容器高度变化时,高度不变)

对于
文本框[name_remark],我们这样设置:
[上边]相对容器[上边],偏移量为具体数字。
[左边]相对容器[左边],偏移量为具体数字。
[右边]相对容器[右边],偏移量为具体数字。(当容器改变宽度的时候,控件宽度跟着改变)
[下边]相对容器[下边],偏移量为具体数字。(当容器高度变化时,控件高度跟着改变

通过A相对B这种方式。我们能制作出非常实用美观的界面。
以下是代码:

分享到:
评论

相关推荐

    java swing 布局所需组件formlayout所需jar包 GUI FormLayout

    本人在烽火期间,使用的就是FormLayout布局,简单易用、功能强大,适用于swing企业和感兴趣的Java可视化兴趣爱好者。如果是流式布局、网格布局、网格包布局都非常麻烦。 这个资源非常稀缺,希望能帮助到大家,本人也...

    JGoodies FormLayout

    JGoodies FormLayout:一个布局管理器。 被IntelliJ IDEA集成。 网站被踢出墙去了(莫名其妙)

    SWT教程之FormLayout介绍

    SWT教程之FormLayout介绍

    formlayout详细讲解

    详细讲解了swing 基于form的布局实现原理

    SWT(JFace)体验之FormLayout布局

    SWT(JFace)体验之FormLayout布局示例代码。

    Android代码-.一个安卓form布局库

    ,FormLayout控件继承自LinearLayout,主要功能是在FormLayout中定义属性,可以同时在FormLayout的类型为InputField的子 view生效。 主要属性: <!--input field的扩展属性--> <!--title 可以显示在...

    eclipse开发技术详解第7章

    布局管理器有五种,分别是FillLayout(充满式布局)、RowLayout(行列式布局)、GridLayout(网格式布局)、FormLayout(表格式布局)和StackLayout(堆栈式布局)。在这些管理器中,各有有点和缺点,比如FillLayout...

    gwt-formlayout:具有 json 数据绑定的 GWT 的可定制表单布局

    gwt-formlayout 具有 json 数据绑定的可定制、响应式表单布局例子 JSONObject sampleData = new JSONObject ();sampleData . put( " Field 1 " , new JSONNumber ( 1.0 ));sampleData . put( " Field 2 " , new JSON...

    ExtJS之布局详解

    折叠布局Ext.layout.AnchorLayout 边框布局Ext.layout.BorderLayout 卡片式布局Ext.layout.CardLayout 列布局Ext.layout.ColumnLayout 填充布局xt.layout.FitLayout 表单布局Ext.layout.FormLayout 表格布局Ext....

    使用DevExpress MVC控件进行拖放

    拖动DevExpress MVC FormLayout控件中的列表项以由最终用户重新排列/排序

    swt layout

    SWT中常用的布局管理器有如下一些。 ●FillLayout:子组件将以相同的大小填充到父组件中。 ● RowLayout:子组件将在父组件...● FormLayout:可以通过FormAttachment以父组件或子组件的边作为相对位置,进行精确布局。

    学习ExtJS form布局

    一、 Form布局由类Ext.layout.FormLayout定义,名称为form,是一种专门用于管理表单中输入字段的布局,这种布局主要用于在程序中创建表单字段或表单元素等使用。 hideLabels:tru表示隐藏标签,默认为false。 ...

    antd Form组件行并列显示 Form表单属性为inline时,表单组件宽度问题

    Form标签 layout属性设置为’inline’ 时 下拉组件宽度没有自适应: // 方法1:用Row + Col 定义自己需要的宽度,把layout属性设置为'horizontal', const formLayout = { labelCol: { span: 4 }, wrapperCol: { ...

    Bounce-开源

    Bounce,一组Java和Swing扩展,包括...布局管理器,例如FormLayout和CenterLayout,图像过滤器,全面的消息传递机制,带有语法突出显示和自动缩进的XMLEditorKit等。

    formlayout‑1.1.0‑py2.py3‑none‑any.whl

    离线安装包,亲测可用

    Eclipse_Swt_Jface_核心应用_部分19

    7.5 FormLayout(表格式布局) 112 7.5.1 设置补白和间隔 113 7.5.2 使用FormData对象 113 7.5.3 使用FormAttachment对象 114 7.5.4 设置控件的相对位置 115 7.6 StackLayout(堆栈式布局) 115 7.7 ...

    Angular实现form自动布局

    本文实例讲解了Angular实现form自动布局的详细代码,分享给大家供大家参考,具体内容如下 效果图: 具体代码: 1.formlayoutCtrl.js 'use strict'; sxlcApp.controller('formlayoutCtrl', ['$scope', '$filter', ...

    formlayoutmakerx-rc8.2.1.jar

    FormLayoutMaker 是一个所见即所得的工具,使您能够使用 JGoodies FormLayout 布局管理器轻松构建 Java Swing 布局。 非常适合那些讨厌 IDE 表单构建器但需要快速强大布局的人。 ...

Global site tag (gtag.js) - Google Analytics