自定义Java Swing GUI与Netbeans Drag n'Drop Editor

Der*_*eta 1 java user-interface swing netbeans

手动编码Java Swing GUI而不是使用Netbeans Drag n Drop编辑器有什么好处吗?也许比如运行时?在我看来,编辑器自动创建了相当多的额外代码,但我不知道这是否对加载视图的运行时有很大影响.我目前使用编辑器的唯一原因是因为它使GUI构建快速而简单.但有些事情你只能通过手工编码才能完成,这是通过编辑器无法实现的吗?

还有一个更好的GUI框架吗?我已经看过Java FX了,但我真的想要Github桌面软件带来的那种效果.它看起来如此光滑和干净,几乎像一个webapp.虽然我确信他们在C++中做到了.在我看来,就图形而言,Java并不多.我的一位朋友评论说,所有Java程序看起来都一样,到目前为止似乎都是如此.

我知道有类似的帖子,但坦率地说它们不是最近的,例如以编程方式编写gui,或使用高级gui编辑器(Java Swing)?这是在2010年发布的还是学习Java Swing(GUI建设者还是没有?),这也是在2010年.如果没有什么新内容,抱歉打扰你.

Mad*_*mer 6

手动编码Java Swing GUI而不是使用Netbeans Drag n Drop编辑器有什么好处吗?

有很多,但让我们从明显的...开始

  • 不会将您锁定在单个开发环境中.这意味着您的代码可以与可能不使用Netbeans的其他人共享.当您使用基于Maven的项目时,这一点尤为重要
  • 鼓励您学习API.您可以很好地理解API的实际工作方式,并学习大量的技巧来实现流畅灵活的界面.
  • 鼓励更多地分离respobsibilty.简单地将组件拖放到表单上很容易,这对于封装或管理没有任何作用.通过将UI划分为责任区域,可以更轻松地管理组件之间的不同状态和关系.它还使代码通常更容易阅读,因为您不需要丢弃与您想要弄清楚的内容无关的内容.
  • 更好的可扩展性.在最好的情况下扩展组件并不容易,但使用基于表单的组件几乎不可能(或者至少一个数量级更难)
  • Netbeans表单编辑器代码......一团糟......

不要误会我的意思,我使用表单编辑器,但在我拿起表单编辑器之前,我已经手工编写了Swing GUI十年.我喜欢用于布局最终屏幕的表单编辑器,并且倾向于使用手动编码的UI来完成到那一步的所有步骤,可以说将钉子放在孔中.

简短的回答是 - 直到您可以手工制作多级GUI,远离表单设计者 - 恕我直言.

我知道有些人认为他们是很好的学习工具,我认为相反,我认为他们允许你发展懒惰和坏习惯,这将影响你未来的一切.

虽然开发环境不应该有所作为,但不是每个人都想要使用Netbeans,最好不要学习

还有一个更好的GUI框架吗?

这是一个意见问题.Swing通过使用外观和感觉架构带来了皮肤概念,使您能够更改组件的外观和感觉.

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

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

制作"光滑"UI的能力不是关于工具包,而是开发人员.将字段和其他组件放到容器上很容易,但是开发人员需要对底层API有很好的理解,并且需要一些实际看起来很好的人才才能使它看起来"光滑".

漂亮并不总是等同于功能.最好的用户界面是你不必考虑的,不会妨碍你的工作.当你使用一个小时,几天,几周的程序时,你不会看到UI看起来多么漂亮,但它能让你得到你想要的东西 - 恕我直言