首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

SWT:如何获取Control的默认(首选)大小

SWT是一种用于构建跨平台图形用户界面(GUI)的工具包。在SWT中,Control是一种可视化组件,用于在用户界面中显示和接收用户输入。获取Control的默认(首选)大小可以通过以下步骤实现:

  1. 使用Control类的getSize()方法可以获取Control的当前大小。该方法返回一个Point对象,其中包含Control的宽度和高度。
  2. 使用Control类的computeSize()方法可以获取Control的默认(首选)大小。该方法根据Control的内容和布局计算并返回一个Point对象,其中包含Control的默认宽度和高度。
  3. 示例代码如下:
代码语言:java
复制
Control control = new Control(parent, style); // 创建一个Control对象
Point currentSize = control.getSize(); // 获取当前大小
Point defaultSize = control.computeSize(SWT.DEFAULT, SWT.DEFAULT); // 获取默认大小

System.out.println("当前大小:" + currentSize.x + "x" + currentSize.y);
System.out.println("默认大小:" + defaultSize.x + "x" + defaultSize.y);

在上述代码中,parent是Control的父容器,style是Control的样式。

Control的默认(首选)大小是根据其内容和布局计算得出的,可以用于确定Control在用户界面中的初始大小。根据具体的应用场景和需求,可以使用默认大小或根据实际情况进行调整。

腾讯云提供了一系列云计算相关产品,例如云服务器、云数据库、云存储等,可以帮助开发者构建和部署各种应用。更多关于腾讯云产品的信息可以在腾讯云官方网站上找到:https://cloud.tencent.com/

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

java如何获取一个对象的大小

但当一个系统的内存有限,或者某块程序代码允许使用的内存大小有限制,又或者设计一个缓存机制,当存储对象内存超过固定值之后写入磁盘做持久化等等,总之我们希望像写C一样,java也能有方法实现获取对象占用内存的大小...How---java怎样获取对象所占内存大小 在回答这个问题之前,我们需要先了解java的基础数据类型所占内存大小。...接下来我们来举例来看实现java获取对象所占内存大小的方法: 假设我们有一个类的定义如下: 1 private static class ObjectA { 2 String...方式1---通过Instrumentation来获取 这种方法得到的是Shallow Size,即遇到引用时,只计算引用的长度,不计算所引用的对象的实际大小。...我们再回过头来,看我们在通过代码获取对象所占内存大小之前的预估值40。比我们实际算出来的值多了8个字节。

8.2K70

java SWT:自定义布局(Layout)实现组件自动缩放显示

一般的UI框架都提供了一些默认布局,比如SWT中的FillLayout,GridLayout…如果使用WindowBuilder开发UI,可以在Design界面下看到所有SWT提供的布局对象,见下图...的两个抽象方法就可以实现一个特殊布局了,SWT提供的那些默认布局类都是通过继承Layout实现的 关于Layout的详细原文说明参见SWT的javadoc http://help.eclipse.org...上一节讲完Layout的实现思路,下面就以以一个实例来说明如何实现自定义布局。...比如下面的图中矩形框,并不是画在背景图上的,而是背景透明的Composite,可以移动和改变尺寸(如何实现,参见我的上一篇博客《 java SWT入门:自定义背景透明且可鼠标拖动改变尺寸和位置的Composite...Rectangle) children.getLayoutData();// 获取Control原始位置尺寸 children.setBounds(new Rectangle

1.7K20
  • 「类与对象」如何准确获取对象的内存大小?

    class_getInstanceSize 首先,这是一个runtime提供的API,用于获取类实例对象所占用的内存大小,返回所占用的字节数。...说白了,class_getInstanceSize方法就是获取实例对象中成员变量内存大小。...malloc_size 这个函数主要获取系统实际分配的内存大小,具体的底层实现也可以在源码libmalloc找到,具体如下: size_t malloc_size(const void *ptr) {...理解一点即可,这个函数是获取系统实际分配的内存大小。 sizeOf 这个函数大家应该很熟悉,确切的讲,这不是一个函数,就是一个操作符,它的作用对象是数据类型,主要作用于编译时。...应用 学习了上面获取内存大小的工具后,下面这道面试题就能很好的回答了。 一个NSObject对象占用多少内存?

    4.6K10

    可视化(番外篇)——SWT总结

    本篇主要介绍如何在SWT下构建一个应用,如何安装SWT Designer并破解已进行SWT的可视化编程,Display以及Shell为何物、有何用,SWT中的常用组件、面板容器以及事件模型等。   ...:在SWT中,操作系统控件被定义为抽象类Control的子类,如Button类,Text类等都是Control的子类。   ...selectAll、显示设置的选取文本showSelection、取消所有选择clearSelection、将选取的字符串复制到剪贴板copy等   List(列表框):SWT.SINGLE(默认只能选中一个...SashForm(分割窗框):可以将屏幕的区域分成几部分,并可以通过拖动窗框改变窗口的大小。   ...  RowLayout(行列式布局):可以调整边距,不会等宽显示组件,可以折行,设置控件大小RowData   GridLayout(网格式布局):设置单个控件的大小,使用GridData进行定制控件显示

    1.7K100

    java SWT:TraverseEvent的理解塈添加TraverseListener实现Composite之间TAB键切换焦点

    当在Canvas中按下TAB键时, TraverseEvent#detail字段的值是SWT.TRAVERSE_TAB_NEXT ,TraverseEvent#doit 字段的值是false,这时系统的默认行为不会将这个...TAB键理解为用户是想将焦点设置到下一个widget,这就意味着在Canvas中的按键侦听器(key Listener)将会收到用户敲的TAB键(SWT.TAB)—所以默认情况下,用TAB键是无法在widget...如果要想让Composite对象支持TAB键在组件间移动焦点,就要改变系统对TAB键的行为,修改TraverseEvent#doit 字段的值为true 下面是org.eclipse.swt.widget.Control...; } TraverseListener侦听器 如何将doit置为true呢?...键的理解》 《org.eclipse.swt.events.TraverseEvent》 《SWT/JFace 按键、事件、监听》

    82510

    【插件开发】—— 7 SWT布局详解,不能再详细了!

    button.setImage(img); button.setText("Button"+i); }   当指定每行有3个子控件时,无论怎么改变窗口的大小...当改变窗口大小时,不会发生变化 ?   FormLayout   感觉这个是最难使用的了,它会以一个Form表单的形式提供布局。...如果是负数,就是减去的像素值。而且提供Control类型的参数,也就是控件类型的参数。如果第一个参数指定一个控件,比如上面指定的那个bottom,那么他会自动获取这个控件对应的高度,在进行加减。   ...下面介绍一下GridData,这个也是一个重量级的参数:   这个参数用于指定目标如何摆放,它描述了以表格为单位的布局。   它描述了空间本身的一个布局摆放的方式: ?   ...:   第一个参数:水平方向如何对齐   第二个参数:竖直方向如何对齐   第三个参数:是否占用水平的剩余空间   第四个参数:是否占用竖直的剩余空间   第五个参数:水平的列数   第六个参数

    1.5K100

    eclipse:WindowBuilder开发时为SWTJFace引入JavaDoc和源码

    关于如何安装WindowsBuilder不是本文的重点,网上可以找到好多关于WindowBuilder安装的教程,我照着教程安装好WindowBuilder后发现代码中引用的SWT/JFace相关的类都没有...因为安装WindowBuilder时是不包含SWT/JFace待第三库的JavaDoc的(SWing是JDK自带的,有源码支持),导致开发过程中要了解相关的类的说明就比较麻烦。...方法二:离线JavaDoc 方法一使用在线JavaDoc还是有缺点,对于网络情况不好的环境,获取在线文档就会比较吃力,而且没有源码支持。所以如果能有本地JavaDoc文档,还是首选。...但是eclipse并没有单独为SWT/JFace这些库提供单独的JavaDoc文档下载链接,不过解决的办法总是有的。...Eclipse SDK中还包括了所有eclipse 插件的源码,所以如果你想查看源码也是可以的, 还以SWT为例,如下图在eclipse SDK的zip包中找到swt对应的源码包(名字包含source

    1.3K10

    jface databinding(数据挷定)中的数据转换(IConverter)和数据验证(IValidator )

    ,做了一个可以验证输入的字符串是否为数值的NumText组件,参见 《java SWT:限制数值输入的Text文本框通用组件》,但是在使用过程中发现,这种方式有缺陷,就是如果用户输入非法的字符,结果就是输不进去...然后会显示绑定的细节属性,这里我们都使用默认值,所以点击确定就好了 ? 这样一个简单的数据绑定就完成了。...; import org.eclipse.swt.widgets.Composite; import org.eclipse.swt.widgets.Control; import org.eclipse.swt.widgets.Shell...return ValidationStatus.error("globalAspectRatio must <100"); }); // 设置Get方法验证器(Get方法获取...这是由这行代码ControlDecorationSupport.create(bindValue, SWT.TOP | SWT.LEFT);创建的ControlDecorationSupport对象实现的

    92010

    【插件开发】—— 4 SWT编程须知

    前文回顾: 1 插件学习篇 2 简单的建立插件工程以及模型文件分析 3 利用扩展点,开发透视图   SWT知识介绍   之前学过Java的朋友,多少页会一些关于Swing的东西。...那么这里的SWT就是Eclipse插件所应用到的小部件开发框架。   里面包含了大量的桌面控件,并且进行了一系列的优化整合,相对于Swing,极大的减少了内存的消耗。...它也提供了一些常用的方法,比如添加一些监听,获取常用的信息等等。   ...最常用的还要数Control了,因为很多Button Label控件都是继承这个类,在开发中经常使用的方法就是 addMouseListener()进行鼠标点击的监听 setBounds 进行控件的重新绘制...在Main中启动开发界面   接下来介绍一下如何不启动一个Eclipse 插件工程,来开发SWT。这个过程很多教材上都有描述,因此这里只提供了上面例子所对应的代码。

    1.2K50

    嵌入式Linux QT开发之如何实现获取磁盘空间大小的应用逻辑

    那么如何来实现呢?...方法一:(参考QT大神-飞扬青云的磁盘容量空间控件实现) 利用Linux系统天生就已经提供的df命令来获取,例如我们可以带上-h参数,这样就可以获得以人类可读的格式显示输出,如下所示: 基于韦东山imx6ull...因此,我们能够借助QT提供的字符串分割方法以及一些简单的逻辑来实现获取其中一行的内容。...结合QT的QProcess函数或者Linux C提供的popen函数来调用df -h命令来获取磁盘容量信息,然后通过这种方法循环读取每一行,结合自己产品的业务逻辑去获取对应的内容即可。...include #include #include static int ok = EXIT_SUCCESS; //根据挂载的文件的大小来计算

    2.1K20

    【插件开发】—— 9 编辑器代码分块着色-高亮显示!

    这里第一个跟第三个参数都跟普通的Control控件差不多。 ?   中间的参数用于设置代码的一个垂直规则(其实就是编辑器左边和右边有提示效果的垂直边栏),想了解的话可以参考它的官方API。   ...我们要解决的问题大致如下:   如何进行分块?   如何进行着色?   如何附加到编辑器上?   一下是代码编写的思维导图 ?   ...,翻译的比较蹩脚,其实就是每一种类型的分块如何展现!...  这个类提供了一个map,里面包含了对应的类型及其对应的RGB颜色的Color对象,通过查询这个map,可以获取相应的颜色,进行着色。...org.eclipse.swt.layout.GridData; 34 import org.eclipse.swt.widgets.Composite; 35 import org.eclipse.swt.widgets.Control

    2.7K60
    领券