您可以在整个网络上read AWT已经过时并且已弃用,而且Swing比AWT更旧但是应尽可能优先于AWT。但是,如何确定何时可以用Swing吊坠替换AWT组件? Web中的几个示例仍然使用可以使用Swing的AWT组件。那么有什么明确的建议从AWT使用什么而不是什么?我知道当我使用官方弃用的组件时,java编译器会给出一个简短的注释,例如:
import java.awt.*;
public class Hello {
public static void main( String[] args ) {
Frame f = new Frame( "Hello" );
f.setSize( 300, 300 );
f.show();
}
}
会产生这样的警告:
Note: Hello.java uses or overrides a deprecated API.
Note: Recompile with -Xlint:deprecation for details.
和-Xlint
:
Hello.java:9: warning: [deprecation] show() in Window has been deprecated
f.show();
^
1 warning
但据我了解web和oracle,我更喜欢使用JComponents而不是AWT组件。但是下面的代码不会注意到我使用JFrame而不是Frame:
import java.awt.*;
public class Hello {
public static void main( String[] args ) {
Frame f = new Frame( "Hello" );
f.setSize( 300, 300 );
f.setVisible( true );
}
}
总而言之,当我在网上阅读代码时,我很好奇,如果它是最新的并遵循原则,尽可能使用Swing,或者我需要改进。
换句话说:java.awt.*
及其子包的安全部分是什么?
感谢您的想法和建议。
答案 0 :(得分:2)
除非你能提出一个充分的理由,否则你不需要在这个时代使用AWT。如果涉及到frame.show()
这样的话,你显然在网上阅读过时的(或者只是简单可怕的)例子。