SWT需要大量的代码

时间:2011-09-27 20:31:15

标签: swt jface lines-of-code

我想知道为什么swt如此不方便使用。我们作为程序员必须生成大量不必要的源代码。这是一个例子。

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

最低限度是这样的:

createLabel(parent, "labelname");

我建立了一个方便的库,我想知道是否有类似的东西,或者为什么SWT或JFace不会这么简单。有一些覆盖80%编程任务的构造函数是否有任何缺点。

详细了解我的所作所为 SWT: More Convenients Please

3 个答案:

答案 0 :(得分:2)

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

答案 1 :(得分:1)

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

从您的实现中可以看出,您假设GridLayout为默认布局样式。除此之外,控件可能具有许多与布局相关的数据,例如其缩进(水平和垂直),跨度等。这不容易用工厂方法覆盖。

如果您不想付出额外的努力来编写用于布局窗口小部件的代码,那么请查看http://www.eclipse.org/archived/处的Visual editor

此外,eclipse本身正朝着模型驱动的一代(http://www.eclipse.org/e4/)发展。如果我们能够看到像SWT这样的UI设计师的Netbeans,那就不奇怪了(顺便说一下,我使用eclipse建模框架和GEF为我们的工具编写了一个版本)。

我仍然建议您手动编写平凡的布局代码,因为它会提高您对SWT的理解。

答案 2 :(得分:0)

生产的字节非常便宜,而且我认为SWT“使用起来非常不方便” - 如果自动生成它,那么这有什么不方便呢?

我们的电脑速度如此之快,以至于我们甚至无法察觉到它们之间的差异......节省的时间是巨大的。