SWT ,RCP开发中常用的功能点代码记录

    技术2025-07-11  14

    1.关闭整个程序 xxx,是个按钮,点击触发关闭。

    xxx.addSelectionListener(new SelectionAdapter() { public void widgetSelected(final SelectionEvent e) { // 做窗口关闭事件 getShell().close(); } });

    2.带滚动条表单下拉功能 (1)在初始化时,会根据表单大小自动生成滚动条

    @PostConstruct public void createPartControl(Composite parent) { // ManagedForm managedForm = new ManagedForm(parent); // ScrolledForm form = managedForm.getForm();// 创建带滚动条的表单 managedForm = new ManagedForm(parent); }

    (2)ScrollBar滚动条下拉:以获得垂直滚动条为例,在初始化时,发现滚动条并不能下拉到底,原因不清楚。我在点击按钮触发时,加入如下代码,实现,滚动条下拉到底 有的人ScrolledComposite最大是短整型长度,不能超过32768像素。这个ScrollBar好像没有这个限制,这里我的滚动条没那么长,就也用了这个短整型长度。

    以下代码可以实现下拉,但是类型返回顶部(上拉)只有滚动条移动,界面没有随之更新。原因未知,感觉是个bug,为了实现上拉,只能重新初始化界面。

    //form.getVerticalBar().setSelection(Short.MAX_VALUE); //form.reflow(true); managedForm.getForm().getVerticalBar().setSelection(Short.MAX_VALUE); managedForm.getForm().reflow(true);

    3.在有table的滚动条中,加入如下代码,实现自动下拉 10000是table每页最大记录。

    table.setTopIndex(10000);
    Processed: 0.011, SQL: 9