小编典典

自定义Java Swing GUI与Netbeans拖放编辑器

java

与使用Netbeans Drag n Drop编辑器相比,手动编码Java Swing
GUI有什么优势?也许在运行时?在我看来,编辑器会自动创建很多额外的代码,但是我不知道这是否会对加载视图的运行时间产生很大影响。我当前使用编辑器的唯一原因是因为它使GUI的构建变得快速而简单。但是,是否有只能通过编辑器手动编码才能完成的操作?

还有更好的GUI框架吗?我偷看过Java
FX,但我确实希望Github桌面软件具有这种效果。它看起来非常光滑和干净,几乎就像一个Web应用程序。尽管我确定他们使用C
++做到了。在我看来,就图形而言,Java并不多。我的一位朋友评论说,所有Java程序看起来都一样,到目前为止看来是正确的。

我知道也有类似的文章,但是坦率地说它们不是最近的,例如以编程方式编写gui或使用高级gui编辑器(Java
Swing)?在2010年发布,或者在2010年发布了Learning Java
Swing(是否有GUI构建器?)
。如果没有新内容,抱歉打扰您。


阅读 238

收藏
2020-11-30

共1个答案

小编典典

与使用Netbeans Drag n Drop编辑器相比,手动编码Java Swing GUI有什么优势?

有很多,但让我们从显而易见的…

  • 不会将您锁定在单个开发环境中。这意味着您的代码可共享给其他可能不使用Netbeans的人。当您使用诸如基于Maven的项目之类的东西时,这尤其重要
  • 鼓励您学习API。您对API的实际工作方式有了很好的了解,并学习了许多使流利而灵活的界面的技巧。
  • 鼓励更大程度地分离责任。只需简单地将组件拖动到表单上就很容易,而表单对于封装或管理没有任何作用。通过将UI划分为职责区域,可以更轻松地管理组件之间不同的状态和关系。这也使代码通常更易于阅读,因为您不需要继续丢弃与您要找出的内容无关的内容。
  • 更好的可扩展性。扩展组件在最佳时机上并不容易,但是使用基于表单的组件几乎不可能(或者至少要困难一个数量级)。
  • Netbeans表单编辑器代码是…一团糟…

别误会,我使用表单编辑器,但是在选择表单编辑器之前,我已经为Swing
GUI进行了手工编码十年了。我喜欢用于布置最终屏幕的表单编辑器,并且倾向于在此之前的每一步都使用手工编码的UI,可以将钉子插入孔中。

简短的答案是-恕我直言,除非您可以手工制作多级GUI,否则请远离表单设计者。

我知道有些人认为他们是出色的学习工具,反之亦然,我认为它们使您养成懒惰和不良的习惯,这会影响您将来的工作。

尽管开发环境不应该有所作为,但并非每个人都希望使用Netbeans,这是最好的学习方法

还有更好的GUI框架吗?

那只是个见解。Swing通过使用外观体系结构引入了蒙皮的概念,它使您能够更改组件外观的感觉。

JavaFX通过使用CSS提供了类似的功能

Swing也是高度可定制的,很容易进入组件的“绘画”级别,甚至可以根据需要生成自己的组件。

制作“光滑”
UI的能力与工具包无关,而取决于开发人员。只需将字段和其他组件拖放到容器上很容易,但是开发人员需要对底层API有充分的了解,并需要一些天才才能使它看起来“漂亮”。

漂亮并不总是等于功能。最好的UI是您不必考虑的东西,不会妨碍您的工作而已。当您使用某个程序长达数小时,数天,数周的时间时,您将不会关注UI的外观,而是可以让您轻松完成所需的工作-
IMHO

2020-11-30