首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >如何删除Eclipse插件中的空白?

如何删除Eclipse插件中的空白?
EN

Stack Overflow用户
提问于 2017-02-21 00:09:22
回答 1查看 74关注 0票数 1

我是Eclipse插件开发的初学者。

我使用Nebula开发了一些Eclipse插件,提供了扩展视图组件,如图形、表等。

我想在视图中绘制三个组件(使用MeterFigure、SWT列表、XYGraph)。

但是,当我创建三个组件时,视图中是空白的!

所以,我检查我的代码,但我找不到哪里有问题。

这是空白的捕获(见图和文本之间的空格)。

这是创建三个组件的代码。

代码语言:javascript
运行
AI代码解释
复制
@Override
    public void createPartControl(Composite parent) {
        ...
        GridLayout layout = new GridLayout(1, true);
        parent.setLayout(layout);
        parent.setLayoutData(new GridData(GridData.GRAB_VERTICAL));

        merterFigure = new merterFigureClass(parent, SWT.NONE);
        GridData gridData = new GridData();
        gridData.horizontalAlignment = GridData.FILL;
        gridData.verticalAlignment = GridData.FILL;
        gridData.grabExcessHorizontalSpace = true;
        gridData.grabExcessVerticalSpace = true;
        merterFigure.setLayoutData(gridData);

        list = new ListClass(parent, SWT.NONE);
        gridData = new GridData();
        gridData.horizontalAlignment = GridData.FILL;
        gridData.verticalAlignment = GridData.FILL;
        gridData.grabExcessHorizontalSpace = true;
        gridData.grabExcessVerticalSpace = true;
        list.setLayoutData(gridData);
        list.initialize();

        graph = new GraphClass(parent, SWT.NONE);
        gridData = new GridData();
        gridData.horizontalAlignment = GridData.FILL;
        gridData.verticalAlignment = GridData.FILL;
        gridData.grabExcessHorizontalSpace = true;
        gridData.grabExcessVerticalSpace = true;
        graph.setLayoutData(gridData);

        list.setGraph(graph);
    }

我是MeterFigureClass。

代码语言:javascript
运行
AI代码解释
复制
public class MeterFigureClass extends Canvas {
        private MeterFigure meterFigure;

        public MeterFigureClass(Composite parent, int style) {
            super(parent, style);

            LightweightSystem lws = new LightweightSystem(this);
            meterFigure = new MeterFigure();
            meterFigure.setBackgroundColor(XYGraphMediaFactory.getInstance().getColor(255, 255, 255));
            meterFigure.setValueLabelVisibility(true);
            meterFigure.setRange(0, 100);
            meterFigure.setLoLevel(35);
            meterFigure.setLoloLevel(20);
            meterFigure.setHiLevel(85);
            meterFigure.setHihiLevel(70);
            meterFigure.setMajorTickMarkStepHint(80);

            lws.setContents(readabilityScore);
        }

        public void setValue(double value) {
            this.getDisplay().asyncExec(new Runnable() {

                @Override
                public void run() {
                    meterFigure.setValue(value);
                }
            });
        }
    }

我是ListClass。

代码语言:javascript
运行
AI代码解释
复制
public class ListClass extends Canvas {
        private org.eclipse.swt.widgets.List list;
        private List<Data> dataList;
        private GraphClass graph;

        public ListClass(Composite parent, int style) {
            super(parent, style);

            list = new org.eclipse.swt.widgets.List(parent, SWT.V_SCROLL | SWT.H_SCROLL);
            dataList = new ArrayList<Data>();

            ...

            GridData gridData = new GridData();
            gridData.horizontalAlignment = SWT.FILL;
            gridData.verticalAlignment = SWT.FILL;
            list.setLayoutData(gridData);

        }

        ....

        public void setGraph(GraphClass Graph) {
            this.Graph = Graph;
        }

        ....
    }

我是GraphClass。

代码语言:javascript
运行
AI代码解释
复制
ublic class MatrixGraph extends Canvas {
    private char count;
    private XYGraph matrixGraph;
    private LightweightSystem lws;

    public MatrixGraph(Composite parent, int style) {
        super(parent, style);
        addPaintListener(new PaintListener() {
            @Override
            public void paintControl(org.eclipse.swt.events.PaintEvent e) {
                MatrixGraph.this.paintControl(e);
            }
        });
    }

    public void paintControl(PaintEvent e) {
        if (count < 1)
            count++;
        else {
            lws = new LightweightSystem(this);

            matrixGraph = new XYGraph();

            setGraphProperties();

        }
    }

    ...
}
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2017-02-21 00:14:05

GridData布局中,您将指定:

代码语言:javascript
运行
AI代码解释
复制
    gridData.grabExcessVerticalSpace = true;

这是告诉布局抓住尽可能多的垂直空间,即使它可能只是空白。由于要为多个控件指定此操作,因此在控件之间分配额外的空间。

如果您不想使用空白,请使用

代码语言:javascript
运行
AI代码解释
复制
gridData.grabExcessVerticalSpace = false;

或者忽略这一点,因为这是默认的。

此外,也尽量不要使用填充的垂直对齐,顶部可能会更好:

代码语言:javascript
运行
AI代码解释
复制
gridData.verticalAlignment = SWT.TOP;
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/42361833

复制
相关文章
ubuntu部署webserver
图片
懿曲折扇情
2022/08/24
3690
ubuntu部署webserver
Webserver推送技术
推送技术的基础思想是将浏览器主动查询信息改为server主动发送信息。server发送一批数据,浏览器显示这些数据,同一时候保证与server的连接。当server须要再次发送一批数据时,浏览器显示数据并保持连接。以后,server仍然能够发送批量数据,浏览器继续显示数据,依次类推。
全栈程序员站长
2022/07/12
4820
GoAhead WebServer移植
GoAhead  WebServer,它是一个源码免费、功能强大、可以运行在多个平台的嵌入式WebServer。
星哥玩云
2022/06/29
1.1K0
WebServer 是什么?
Web服务器是指驻留于因特网上某种类型计算机的程序。当Web浏览器(客户端)连到服务器上并请求文件时,服务器将处理该请求并将文件反馈到该浏览器上,附带的信息会告诉浏览器如何查看该文件(即文件类型)。服务器使用HTTP(超文本传输协议)与客户机浏览器进行信息交流,这就是人们常把它们称为HTTP服务器的原因。目前最主流的三个Web服务器是Apache Nginx IIS。
PM吃瓜
2019/08/13
1.3K0
WebServer 是什么?
CobaltStrike WebServer特征分析
在处理OPTIONS请求时候,更是uri都不看,直接返回200,并且在后面会加上Allow: OPTIONS,GET,HEAD,POST
谢公子
2022/06/09
1.3K0
CobaltStrike WebServer特征分析
CobaltStrike WebServer特征分析
在处理OPTIONS请求时候,更是uri都不看,直接返回200,并且在后面会加上Allow: OPTIONS,GET,HEAD,POST
JDArmy
2022/06/06
1.1K0
CobaltStrike WebServer特征分析
GoAhead WebServer移植小结
VxWorks中自带了WebServer组件,在network components->network protocols-> network applications下选择http server即可。也可以采用rapid control for Web。这里我们介绍GoAhead WebServer,它是一个源码免费、功能强大、可以运行在多个平台的嵌入式WebServer。
星哥玩云
2022/06/29
1.3K0
一个简单的WebServer,socke
一个简单的WebServer import socket import threading body = '<h1> web server </h1>' response_params = [ 'HTTP/1.0 200 OK', 'Content-Type: text/html;charset=utf-8', 'Content-Length: {}\r\n'.format(len(body.encode())), body, ] response = '\r\n'.j
py3study
2020/01/15
4010
Webserver ,Web container, Application server的区别
1)Webserver Web container Application server的区别:
马克java社区
2021/07/07
6040
嵌入式Linux系列第15篇:WebServer使用
Server一般有两种含义,一种是表示硬件,通常是指那些具有较高计算能力,能够提供给多个用户使用的计算机。另外一种含义是表示软件程序,这种程序主要用来对外提供某些服务,比如邮件服务、数据库服务、域名服务、网页服务等。
用户2366192
2021/05/31
2.1K0
网页防篡改专题3---WebServer方式
由于waf方式并没有解决网页篡改,只是缓解而已,特别是网页防篡改功能可能导致整个站点断服的风险,让waf方式差强人意。
血狼debugeeker
2019/08/01
1.3K0
写一个简单的webserver
基于 Python3 写的极简版 webserver。用于学习 HTTP协议,及 WEB服务器 工作原理。笔者对 WEB服务器 的工作原理理解的比较粗浅,仅是基于个人的理解来写的,存在很多不足和漏洞,目的在于给大家提供一个写 webserver 的思路。项目GitHub地址:https://github.com/hanrenguang/simple-webserver。
py3study
2020/01/03
6460
使用nodejs创建一个webServer
什么是 nodejs Node.js发布于2009年5月,由Ryan Dahl开发,是一个基于Chrome V8引擎的JavaScript运行环境,使用了一个事件驱动、非阻塞式I/O模型, 让JavaScript 运行在服务端的开发平台,它让JavaScript成为与PHP、Python、Perl、Ruby等服务端语言平起平坐的脚本语言。 Node.js对一些特殊用例进行优化,提供替代的API,使得V8在非浏览器环境下运行得更好,V8引擎执行Javascript的速度非常快,性能非常好,基于Chrome
是小张啊喂
2021/08/10
6160
使用nodejs创建一个webServer
什么是 nodejs Node.js发布于2009年5月,由Ryan Dahl开发,是一个基于Chrome V8引擎的JavaScript运行环境,使用了一个事件驱动、非阻塞式I/O模型, 让JavaScript 运行在服务端的开发平台,它让JavaScript成为与PHP、Python、Perl、Ruby等服务端语言平起平坐的脚本语言。 Node.js对一些特殊用例进行优化,提供替代的API,使得V8在非浏览器环境下运行得更好,V8引擎执行Javascript的速度非常快,性能非常好,基于Chrome J
是小张啊喂
2021/06/23
6120
Webserver管理系列:11、注意默认的隐含共享
我们能够通过取消”Microsoft网络的文件和打印机共享”服务来阻止别人訪问我们的共享文件:
全栈程序员站长
2022/07/13
3440
Webserver管理系列:11、注意默认的隐含共享
ASP.NET CORE Linux发布工具(文件对比 只上传差异文件;自动启停WebServer命令;上传完成自动预热WebServer)
最近这几日在搞一个小网站:教你啊 ;(感兴趣的朋友可以来捧场,在这个网站上有任何消费我都可以退还) 由于更新频繁,手动更新特别麻烦,于是开发了这个小工具 用了一段时间,还是挺顺手的,同时.NET Co
liulun
2018/05/28
9690
Arduino+w5100使用1:WebServer操作步骤所用硬件
操作步骤 1.将网络扩展板与UNO插接在一起,确保引脚连接正常。 pic1:uno+w5100 shield 2.如图所示连接UNO和PC机(PWR红灯长亮,AREF左侧绿灯长亮) pic2:conn
用户1733354
2018/05/22
2.9K0
SpringBoot内置源码解析WebServer初始化过程
在上一节中 Spring Boot 初始化了 WebServer 对应的工厂类。同时,我们也知道对应 Web容器的WebServer实现类有:TomcatWebServer、JettyWebServer和UndertowWebServer。
愿天堂没有BUG
2022/10/28
6310
SpringBoot内置源码解析WebServer初始化过程
【Rust每周一库】 http - Rust下简单的webserver库
本期的每周一库给大家带来的是一个rust下的webserver库,名字很直观就叫http。
MikeLoveRust
2020/02/20
1.4K0
让gulp-webserver自动化开发服务器支持SSI语法 (include等)
在gulpfile.js中加入上面的配置代码(核心是middleware那里的connectSSI配置),我们就可以使用.shtml文件格式的html了,从而在代码中可以使用ssi的语法实现一些本来需要后端支持的功能,如:include提取公共部分,避免前端coder们头疼的大量复制粘贴工作
fastmock
2022/07/13
4180

相似问题

WebServer + AP不工作?WebServer + STA

21

如何使用Corda-Spring-Webserver实现查询过滤?

13

NodeRED在NodeJS Webserver服务器上的实现

35

magento - webserver问题

50

多线程WebServer

12
添加站长 进交流群

领取专属 10元无门槛券

AI混元助手 在线答疑

扫码加入开发者社群
关注 腾讯云开发者公众号

洞察 腾讯核心技术

剖析业界实践案例

扫码关注腾讯云开发者公众号
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
查看详情【社区公告】 技术创作特训营有奖征文