![]() |
1
7
有很多,但让我们从显而易见的开始。。。
别误会,我使用表单编辑器,但在我拿起表单编辑器之前,我已经手工编写Swing GUI十年了。我喜欢表单编辑器来布置最终的屏幕,并且倾向于使用手工编码的用户界面来完成每一步,可以说是把钉子放进洞里。 简单的回答是——在你可以手工制作一个多层次的GUI之前,远离表单设计者——IMHO。 我知道有些人认为他们是很好的学习工具,我认为恰恰相反,我认为他们让你养成懒惰和坏习惯,这将影响你未来所做的一切。 虽然开发环境不应该有什么不同,但并不是每个人都想使用Netbeans,最好是学会不用它
这完全是意见问题。Swing通过使用 look and feel 体系结构,它为您提供了改变组件外观和感觉的能力。 JavaFX通过使用CSS提供了类似的功能 Swing也是高度可定制的,它很容易进入组件的“绘制”级别,甚至可以根据需要生成自己的组件。 制作“流畅”UI的能力与工具包无关,而是取决于开发人员。把字段和其他组件放到一个容器上很容易,但这需要一个对底层API有很好理解的开发人员,以及一些真正看起来不错的人才,才能让它看起来“光滑”。 漂亮并不总是等同于功能。最好的用户界面是你不必考虑的,不会妨碍你的工作。当你在一个程序上工作了数小时、数天、数周后,你不会看到UI看起来有多漂亮,而是会看到它能让你完成你想做的事情有多好 |
![]() |
2
0
手工编码完成了GUI构建器无法完成的第一件事:动态更改界面。 例如:
如果你想建立一个包含多个
此外,当您有复杂的接口时
|
![]() |
3
0
一个经典的图形用户界面生成器应该用于原型化您的图形用户界面。一旦你确切地知道你想要什么,你就应该去掉它,清理代码(分解它,记录它,…简而言之,让它简单易读)。
并非绝对正确:JavaFX外观可以通过css进行定制。Swing也可以通过LAF系统或覆盖paint*方法进行完全定制(我承认这更耗时)。
如果你想找一个没有生成代码缺点的简单代码,我建议你看看
ReflectionUI
:轻松定制外观(这不是唯一的好处):
|
![]() |
Devang Sanghani · 柏树检查线通过 2 年前 |
![]() |
Brendan · 如何在Flatter中创建圆形化身周围的虚线边框 2 年前 |
![]() |
Shadow43375 · 当前可见的视口部分是否有官方术语? 6 年前 |
![]() |
HyperQBE · 如何在pyqt MessageBox中使用变量 6 年前 |
![]() |
Lord Jesus · 如何添加“HH:mm:ss”格式的秒表? 6 年前 |