首页
学习
活动
专区
工具
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.1K70

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

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

1.7K20
  • Python如何批量获取文件夹大小并保存

    很多时候,查看一个文件夹下每个文件大小可以轻易做到,因为文件后面就是文件尺寸,但是如果需要查看一个文件夹下面所有的文件夹对应尺寸,就发现需要把鼠标放到对应文件夹上,稍等片刻才会出结果。...有时候,我们需要查看几十个甚至于上百个文件夹,找出包含文件最多,空间占用最大那个,就比较麻烦了。这段代码是我以前代码,可以按大小排序输出文件夹大小到txt文件,供使用方便。...if directory_list.is_dir(): sub_folder_size = get_folder_size(directory_list.path) # 递归获取大小...directory_size, key=lambda x: x[1], reverse=True) # return a list ordered by size results = [[i[0], '文件夹大小...以上就是本文全部内容,希望对大家学习有所帮助。

    2.1K10

    「类与对象」如何准确获取对象内存大小

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

    4.5K10

    可视化(番外篇)——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

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

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

    1.4K100

    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 按键、事件、监听》

    81310

    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 SDKzip包中找到swt对应源码包(名字包含source

    1.2K10

    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对象实现

    90510

    【插件开发】—— 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

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

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

    1.1K50

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

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

    2.1K20
    领券