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

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

 
阅读更多

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


我瘦



我标准



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

下面先看看设计界面:




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

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

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

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

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

分享到:
评论

相关推荐

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

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

    formlayout详细讲解

    例如,FormLayout采用基于单元的布局规范,支持动态调整,适应不同字体大小和分辨率,确保布局的一致性。此外,框架内置了多种常见布局模板,大大减少了开发者重复编写相似代码的工作量,提升了开发效率。 #### ...

    JGoodies FormLayout

    1. **基于表格的布局**:FormLayout 使用表格来组织组件,每一行和每一列都可以有固定的间距或者根据内容自适应。这种布局方式使得开发者可以轻松地创建网格状的用户界面,每个单元格可以包含一个或多个组件。 2. *...

    SWT教程之FormLayout介绍

    在SWT(Standard Widget Toolkit)框架中,FormLayout是一种非常灵活且强大的布局管理器,主要用于控制组件在容器中的位置和大小。它允许开发者通过精确指定组件的边界来实现复杂的用户界面设计。FormLayout非常适合...

    SWT(JFace)体验之FormLayout布局

    `FormLayout`是SWT中的一个布局管理器,专门用于构建复杂的、自适应的表单布局。 `FormLayout`的核心概念是通过附件(`FormAttachment`)和数据(`FormData`)来定位和调整控件的位置。`FormAttachment`定义了一个相...

    swt网页布局介绍Layout

    5. **FormLayout**:表单布局允许通过边距和连接来精确控制控件的位置和大小。它非常适合创建需要精确对齐的复杂界面,如表单。 6. **StackLayout**:栈布局只显示一个子控件,可以用来实现类似“选项卡”或“弹出...

    ExtJS之布局详解

    - **FitLayout**:默认布局,子组件的大小会自适应容器大小,常用于嵌套布局。 - **AccordionLayout**:允许子组件折叠展开,适用于显示多个可折叠内容的区域。 - **AnchorLayout**:基于组件的锚点属性定位,...

    WinForms_C#_MDI窗体

    - C# WinForms提供了一些内置的排列方式,如`FormLayout.TileHorizontal`和`FormLayout.Cascade`,可以调用`ArrangeMdiChildren`方法来改变子窗体的排列方式。 7. **焦点和激活** - 当用户在MDI子窗体之间切换时...

    swt 布局管理器 java中应用

    FormLayout通常配合`FormData`使用,后者包含了关于组件位置和大小的具体信息,如上、下、左、右的偏移量。FormLayout特别适合于创建需要精确控制每个元素位置和大小的复杂界面。 #### 结论 SWT布局管理器在Java ...

    swt布局.doc

    SWT布局是开发Java应用程序时使用SWT(Standard Widget Toolkit)框架进行用户界面设计的关键部分。布局管理器决定了窗口组件(如按钮、文本框等)在容器(如Composite)内的排列方式和尺寸。本文将详细介绍SWT布局...

    The JGoodies Forms Framework

    - **表格形式的布局**:FormLayout采用表格的形式来组织控件,使得布局清晰且易于理解。 - **灵活的单元格尺寸**:支持多种单元格尺寸(如固定宽度、比例宽度等),可以根据实际需求调整单元格大小。 - **强大的定位...

    extjs_页面布局.doc

    如果面板没有指定特定的布局,它会默认使用ContainerLayout。配置项如`activeItem`用于指定当前激活的组件。 2. **FitLayout**:自适应布局,让子组件完全填充其容器。如果容器中有多个子组件,只有一个会被显示。...

    Ext10种布局

    - `columnWidth` 用百分比表示列宽,`width` 使用像素值表示。 #### 4. 自适应布局(Fit Layout) - **定义**:通过 `Ext.layout.FitLayout` 类定义,布局名称为 `fit`。 - **功能**:使面板子元素自动填满容器...

    flex panel窗体有最小化最大化关闭

    7. **布局管理**:Flex Panel内部支持多种布局管理器,如`FormLayout`、`VerticalLayout`、`HorizontalLayout`等,可以根据需要组织和排列子组件。 8. **事件处理**:在开发过程中,开发者需要监听和响应如`resize`...

    SWT控件2

    博主可能还会讨论SWT控件的其他特性,如布局管理(如`GridLayout`或`FormLayout`),以及如何将SWT控件与其他Eclipse插件或RCP(Rich Client Platform)应用集成。 总的来说,“SWT控件2”这篇博文可能涵盖了一系列...

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

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

    extjs布局全面讲解

    - **定义**:Form布局由类`Ext.layout.FormLayout`定义,布局名称为`form`,主要用于管理表单中的输入字段。 - **特性**: - 支持垂直排列的表单元素。 - 提供了对表单控件的统一管理,方便进行验证和提交操作。 ...

    FormAttachment (Control control)的参数必须是属于同一个composite

    在Java SWT(Standard Widget Toolkit)库中,`FormAttachment`是一个强大的布局管理工具,它用于在界面设计中精确地定位和大小调整控件。标题提到的"FormAttachment (Control control)的参数必须是属于同一个...

    swt form

    2. **布局管理**:在SWT中,布局管理器(如FillLayout、GridLayout、FormLayout等)负责决定控件在表单中的位置和大小。理解如何正确使用布局是创建美观且功能齐全的表单的关键。 3. **事件处理**:通过实现监听器...

Global site tag (gtag.js) - Google Analytics