有人能给我解释一下Swing和AWT的区别吗?
在某些情况下,AWT比swing更有用/更被建议使用,或者反之亦然?
有人能给我解释一下Swing和AWT的区别吗?
在某些情况下,AWT比swing更有用/更被建议使用,或者反之亦然?
当前回答
Swing vs AWT。基本上,最先出现的是AWT,它是一组重量级UI组件(意味着它们是操作系统对象的包装器),而Swing则构建在AWT之上,拥有一组更丰富的轻量级组件。
任何严肃的Java UI工作都是在Swing中完成的,而不是主要用于applet的AWT。
其他回答
AWT和Swing之间的这种差异导致了几个后果。
AWT is a thin layer of code on top of the OS, whereas Swing is much larger. Swing also has very much richer functionality. Using AWT, you have to implement a lot of things yourself, while Swing has them built in. For GUI-intensive work, AWT feels very primitive to work with compared to Swing. Because Swing implements GUI functionality itself rather than relying on the host OS, it can offer a richer environment on all platforms Java runs on. AWT is more limited in supplying the same functionality on all platforms because not all platforms implement the same-looking controls in the same ways.
Swing组件被称为“轻量级”,因为它们不需要 来实现它们的功能。JDialog和JFrame是 重量级的,因为他们有对手。比如JButton, JTextArea等是轻量级的,因为它们没有操作系统对等体。
对等体是操作系统提供的小部件,例如 按钮对象或输入字段对象。
至于什么时候AWT可能比Swing -更有用
you may be targeting an older JVM or platform that doesn't support Swing. This used to really come into play if you were building Applets - you wanted to target the lowest common denominator so people wouldn't have to install a newer Java plugin. I'm not sure what the current most widely installed version of the Java plugin is - this may be different today. some people prefer the native look of AWT over Swing's 'not quite there' platform skins. (There are better 3rd party native looking skins than Swing's implementations BTW) Lots of people preferred using AWT's FileDialog over Swing's FileChooser because it gave the platform file dialog most people were used to rather than the 'weird' custom Swing one.
Java 8
摇摆不定的
它是Java基础类的一部分 Swing是建立在AWT之上的 Swing组件是轻量级的 Swing支持可插入的外观和感觉 平台无关的 采用MVC:模型-视图-控制器架构 包:javax.swing 与Swing的其他组件不同, 它们是轻量级的,顶级容器是重量级的。
AWT -抽象窗口工具包
平台的依赖 AWT组件是重量级的 包java.awt
摇摆不定:
Swing是java基础类的一部分。 Swing组件是独立于平台的。 Swing组件是轻量级组件,因为Swing位于awt的顶部。
AWT:
AWT被称为抽象窗口工具。 AWT组件是平台相关的。 AWT组件是重量级组件。
The base difference that which already everyone mentioned is that one is heavy weight and other is light weight. Let me explain, basically what the term heavy weight means is that when you're using the awt components the native code used for getting the view component is generated by the Operating System, thats why it the look and feel changes from OS to OS. Where as in swing components its the responsibility of JVM to generate the view for the components. Another statement which i saw is that swing is MVC based and awt is not.