【问题标题】:SWT needs to much lines of codeSWT 需要很多代码行
【发布时间】:2011-09-27 20:31:14
【问题描述】:

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

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

最小值是这样的:

createLabel(parent, "labelname");

我建立了一个方便的库,我想知道是否有类似的东西,或者为什么 SWT 或 JFace 不采用这种简单的方式。有更多的构造函数来覆盖 80% 的编程任务有什么缺点吗?

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

【问题讨论】:

  • 等等 - “它会产生大量不必要的代码”是什么意思?您使用的是 Eclipse 之类的 IDE 吗?
  • 看看我的网站,有一个更大的例子可以说明我的观点。
  • 要使用 SWT,您需要编写大量代码吗?什么?您是否已经尝试在 Swing 中编写一些 GUI? ;]
  • ;) 呵呵我很久以前就离开了秋千,但它是外观。即使 swt 在代码行数方面优于 swing,它也可以变得更好!

标签: swt jface lines-of-code


【解决方案1】:

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

【讨论】:

  • 是的,Window Builder 是一个非常好的工具。我用我博客中的简单示例进行了尝试,它生成的代码与我手工编写的代码完全相同。不幸的是,它不适用于我方便的课程。
【解决方案2】:

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

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

如果您不想花费额外的精力来编写用于布局小部件的代码,那么请查看Visual editorhttp://www.eclipse.org/archived/

此外,eclipse 本身正朝着模型驱动的一代 (http://www.eclipse.org/e4/) 发展。难怪我们会看到像 Netbeans 这样的 SWT UI 设计器(顺便说一句,我已经使用 eclipse 建模框架和 GEF 为我们的工具编写了一个版本)。

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

【讨论】:

【解决方案3】:

字节的生产成本非常低,我认为 SWT“使用起来非常不方便”——如果它是自动生产的,那有什么不方便的?

我们的计算机速度如此之快,以至于我们甚至无法察觉其中的差异……而且节省了大量时间。

【讨论】:

  • 对不起,英语是我的第二语言,我用“它会产生大量不必要的代码”这句话误导你。我要说的是,作为程序员,我们必须编写大量不必要的代码。我会解决我原来的问题。
  • 但是我同意你的观点,更多的字节码并不重要。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2018-02-19
  • 1970-01-01
  • 2021-04-08
  • 2017-08-15
  • 2020-06-20
  • 2023-04-09
  • 1970-01-01
相关资源
最近更新 更多