2011-09-27 84 views
2

我想知道为什么swt很不方便使用。我们作为程序员必须产生大量不必要的源代码。这里是一个例子。SWT需要多行代码

Label label = new Label(parent, SWT.NONE); 
label.setText("labelname"); 

最低会是这样的:

createLabel(parent, "labelname"); 

我建立一个convenients库,我想知道是否有类似的东西,或者为什么SWT或者JFace的不走这种简单的方法。有一些更多的构造函数可以覆盖80%的编程任务吗?

有更详细的看看我做了什么。
SWT: More Convenients Please

+0

等待 - “它产生大量不必要的代码”是什么意思?您是否使用Eclipse之类的IDE? – Coffee

+0

看看我的网站,有一个更大的例子,使我的观点清晰。 – strangeoptics

+0

要使用SWT,你需要编写大量的代码?什么?你是否已经尝试在Swing中编写一些GUI? ;] – Sorceror

回答

0

字节的制作成本很低,而且我认为辩论SWT“是如此不方便使用” - 嗯,如果是自动生产它,怎么是不方便?

我们的电脑如此之快,我们甚至无法察觉的差别......并保存时间是巨大的。

+1

对不起,英语是我的第二语言,我用一句“它会产生大量不必要的代码”误导你。我的看法是,我们作为一名程序员必须产生这么多不必要的代码。我会解决我最初的问题。 – strangeoptics

+0

但我同意你的意见,一些更多的字节代码并不重要。 – strangeoptics

1

据我所知,没有这样的通用库。为swt控件创建提供一些基本工厂支持的一个实例是JFace Form Widget。也看看这个org.eclipse.ui.forms.widgets.FormToolkit

从您的实现看来,你是假设GridLayout作为默认布点的风格。除此之外,一个控件可能有许多布局相关的数据,比如它的缩进(水平和垂直),跨度等等。这很难用工厂方法来覆盖。

如果您不想为编写小部件编写代码而花费额外的精力,那么您可以看看Visual editorhttp://www.eclipse.org/archived/

此外,蚀本身正在走向的模型驱动代(http://www.eclipse.org/e4/)。如果我们看到像SWT这样的NetBeans UI设计师(通过使用eclipse建模框架和GEF为我们的工具编写了一个版本),这并不奇怪。

不过我建议你手工编写的世俗布点代码,因为它会提高你的SWT理解。

+0

感谢您的回复。当我有时间时,我会回答。可视化编辑器已存档,是否意味着项目已停止? – strangeoptics

+0

@strangeoptics:看看这个SO链接http://stackoverflow.com/questions/319242/is-eclipse-visual-editor-dead。据我所知,该项目或多或少已经死亡。你也可以看看这个项目http://cloudgarden.com/jigloo/index.html。 – Favonius

2

我建议尝试Google Window Builder Pro。它是Eclipse的一个插件,支持在SWT,Swing,RCP,JFace等GUI中进行图形化开发。 GWB编写指定GUI布局的代码,您只需编写代码来处理事件。

+0

是的窗口生成器是一个非常好的工具。我用我的博客中的简单示例尝试了它,它生成了我手写的代码。不幸的是,它不适用于我方便的课程。 – strangeoptics