首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >ScrollPane导致我的插件冻结

ScrollPane导致我的插件冻结
EN

Stack Overflow用户
提问于 2012-01-13 00:36:44
回答 1查看 306关注 0票数 0

我使用以下代码将ScrollPane中的小程序包含到我的eclipse插件的视图中:

代码语言:javascript
运行
复制
@Override
    public void createPartControl(Composite parent) {

        composite = new Composite(parent, SWT.EMBEDDED);
        final Frame frame = SWT_AWT.new_Frame(composite);
        frame.setLayout(new BorderLayout());

        Panel panel = new Panel();
        panel.setSize(WIDTH, HEIGHT);
        pap = new ProcessingEmbedded2();       
        ScrollPane pane = new ScrollPane(ScrollPane.SCROLLBARS_AS_NEEDED);

        panel.setLayout(new BorderLayout());
        panel.add(pap, BorderLayout.CENTER);

        frame.add(pane, BorderLayout.CENTER);
        pane.add(panel);
}


public class ProcessingEmbedded2 extends Applet {


}

对于插件开发人员来说,这在Eclipse RPC/中运行得很好,但现在我尝试在另一个eclipse客户机中运行该插件。在那里,ScrollPane导致插件冻结整个客户端。我确定它是ScrollPane,因为如果我删除这部分代码(即,我直接将小程序添加到面板中,而不使用ScrollPane),插件就会正常运行。有人知道导致冻结的问题是什么吗?

EN

回答 1

Stack Overflow用户

发布于 2012-01-22 06:27:48

您似乎遇到了特定于平台的问题图形用户界面问题,这是由尝试创建ScrollPane的系统特别引起的。

您运行的测试是一个很好的测试-删除ScrollPane来挽救崩溃肯定意味着这个问题与GUI组件相关……或者ScrollPane所依赖的某个组件。

那么下一个问题是- ScrollPane是用什么来构建自己的呢?答案当然是AWT --即java抽象窗口工具包。

不幸的是,由于AWT组件与系统组件捆绑在一起,您可能会遇到一些情况,在这些情况下,它们不能很好地工作。在这种情况下该怎么办?一个简单的解决方案是尝试使用Swing组件。

所以,既然我假设你在这里使用的是AWT的ScrollPane -,我建议你把它换成Swing JScrollPane。根据我的经验,Swing组件不太可能导致这样的怪癖。但是,每个工具包都有优缺点。但根据我的经验..。通常,如果您的程序在AWT组件上崩溃,相应的Swing组件可能会工作得更好。

请参阅:http://edn.embarcadero.com/article/26970

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/8838674

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档