【发布时间】:2012-12-03 01:29:20
【问题描述】:
什么是更好的选择? 适用于:Swing 和 AWT
我问这个问题是因为我想知道什么可以节省我更多的时间。
【问题讨论】:
-
回复。 AWT/摇摆。请参阅this answer(以及问答的其余部分)。
-
没有明确的更好标准,这个问题不具建设性。作为参考,JMCAD 使用 Swing。
什么是更好的选择? 适用于:Swing 和 AWT
我问这个问题是因为我想知道什么可以节省我更多的时间。
【问题讨论】:
什么是更好的选择?适用于:Swing 和 .awt
对于大多数用途来说,Swing 是一个更加健壮和强大的库。
我问这个问题是因为我想知道什么可以节省我更多的时间。
以什么方式为您节省更多时间?
这个问题的主旨是什么?
编辑
你说:
我正在制作一个 CAD 程序,这就是我需要知道的原因。
我不确定在这一点上我是否会非常担心“清除与绘制顶部”,并且会更担心具有良好分离逻辑实体的整体程序设计。图形细节可以根据您的测试结果进行测试和更改,但更重要的是您拥有强大而灵活的设计,可以让您插入任何类型的图形设计。
【讨论】:
在所有其他 cmets 之上;
Swing 有一个聪明的重绘管理器,它可以用来只重绘屏幕受损区域,而不是需要重绘整个屏幕。
Swing 也是双缓冲的,这使得它的更新不太容易出现闪烁。
【讨论】:
swing 将比 awt 节省更多时间,因为 swing 的所有组件代码都是纯用 java 编写的,而 awt 组件的代码是用非 java 的本地语言编写的,因此 awt 的编译时间比 swing 多。 在节省时间的情况下最好使用 Swing。
【讨论】:
一般来说,清除和重绘是首选方法。尝试在顶部绘图的程序中经常存在视觉错误。
在顶部绘图的典型用例是消除与难以绘制小部件的程序相关的一些问题(例如具有非常复杂的细节和许多功能的 CAD 程序)。然而,即使在这些情况下,通常也有一些方法可以避免在顶部绘制。例如,将 CPU 密集型小部件绘制到缓冲区,然后在该小部件中没有的内容发生更改时绘制缓冲区。
【讨论】: